源本科技 | 码上会

准备持续集成所需环境

2026/05/14
111
0

注意

所有虚拟机全部配置静态 IP,禁用 DHCP,防止重启 IP 漂移导致服务间通信、拉取依赖、推送镜像、数据库连接全部失效

  • 可以使用我部署好的虚拟机进行试验

静态 IP 规划

服务器名称

部署服务

静态 IP 地址

核心作用

Ubuntu Service

MySQL + Redis

192.168.203.129

业务数据库、缓存中间件

Ubuntu Nexus

Nexus3 私服

192.168.203.132

存放 Maven、NPM、Docker 依赖包

Ubuntu Harbor

Harbor 镜像仓库

192.168.203.133

存放项目 Docker 业务镜像

Ubuntu GitLab

GitLab 代码仓库

192.168.203.134

代码托管、WebHook 触发 CI 流水线

Linux 修改 IP

  • Ubuntu 自 18.04 起使用 Netplan 作为默认网络配置工具。不同版本语法略有差异

  • 编辑 Netplan 配置文件

# 配置文件的路径在 /etc/netplan 目录下,配置文件的名称请以你计算机中实际情况为准
vi /etc/netplan/50-cloud-init.yaml

Ubuntu 22.04

network:
  version: 2
  ethernets:
    # 注意你的网卡名
    ens32:
      # 修改为你规划的静态 IP
      addresses: [192.168.60.135/24]
      # 注意你自己的网关地址
      gateway4: 192.168.60.2
      nameservers:
        # 这里是 DNS 地址,第一个用的是网关,也可以是 [114.114.114.114, 114.114.114.110, 8.8.8.8]
        addresses: [192.168.60.2, 8.8.8.8]

Ubuntu 24.04

network:
  version: 2
  renderer: networkd
  ethernets:
    # 注意你的网卡名
    ens32:
      dhcp4: false
      dhcp6: false
      # 修改为你规划的静态 IP
      addresses: [192.168.100.122/24]
      routes:
        - to: default
          # 注意你自己的网关地址
          via: 192.168.100.2
      nameservers:
        # 这里是 DNS 地址,第一个用的是网关,也可以是 [114.114.114.114, 114.114.114.110, 8.8.8.8]
        addresses: [192.168.100.2, 114.114.114.114]
        search: []

查看虚拟机网关

  • 点击【编辑】-【虚拟网络编辑器】

  • 选择【VMnet8】点击【NAT 设置】

  • 就可以看到网关 IP 了

应用配置

# 或者直接重启 reboot
netplan apply

确保可以联网

  • 配置成功后不仅要能够通过 SSH 连接工具登录到 Linux,还要确保能够联网

# 使用 ping 命令确定可以成功连接网络
ping www.baidu.com

流程思路如下

  • 提交代码到 GitLab

  • GitLab 触发 WebHook 调度 Runner

  • Runner 拉取源码

  • Runner 从 Nexus3 拉取依赖

  • 执行编译、单元测试、代码检查

  • Runner 构建 Docker 镜像

  • Runner 推送镜像到 Harbor

  • 部署应用程序