构建集群

本文主要介绍流水线执行依赖的构建集群,云效Flow提供默认构建集群,此外为了满足企业定制化场景,也支持企业接入自己的机器作为私有构建集群。

1. 云效默认构建集群

Flow提供默认构建资源,提供云效北京构建集群云效中国香港构建集群两个默认构建集群。

  • 流水线会为每个构建任务分配一个全新的容器构建环境,任务结束环境回收。

  • 容器构建环境操作系统默认为Linux、amd64架构,云效会根据任务类型指定不同的容器镜像,预装相应的SDK和环境。

  • 容器构建环境规格默认 1C1G,Node相关任务 4C8G,其他任务 3C6G。

当您的某些依赖服务开启了白名单,则需要在白名单中设置 Flow 构建机的 IP 地址。如,当您的代码仓库开启了白名单,则需要在对应的代码仓库添加以下 IP,Flow 构建机才可完成对应仓库的代码克隆。

Flow 服务端公网 IP 地址

112.126.70.240,123.56.255.38,47.94.150.88

Flow 云效北京构建集群公网 IP 地址

47.93.89.246,47.94.150.17

Flow 云效北京构建集群内网 IP 地址

10.0.0.0/8,192.168.0.0/16

Flow 云效中国香港构建集群公网 IP 地址

47.57.70.87,47.242.65.197,47.90.29.115,47.57.136.136

image

2. 私有构建集群

如果您对构建环境有特殊的需求,云效 Flow 也支持接入您自己的机器作为私有构建集群,支持阿里云ECS或其他自有主机。云效 Flow 流水线支持容器构建环境、VM构建环境,流水线任务会按需调度到私有构建集群的机器上执行。

2.1 前提条件

机器接入前请检查机器满足以下条件:

  • 机器需要可访问公网(用于云效 Runner 安装回调、流水线构建任务依赖下载及回调等)

  • 目前云效支持接入以下操作系统架构机器作为私有构建机:

    Linux

    支持以下 Linux 发行版本:CentOS 6+ 及以上、Ubuntu 16.04+ 及以上、Alibaba Cloud Linux 2/3

    • 架构:支持 Linux/amd64、Linux/arm64 架构

    • 推荐配置:4核8G及以上

    • 构建环境:目前 Linux 构建机器仅支持 默认环境默认VM环境,需要机器安装并启动了 Docker Daemon:https://docs.docker.com/engine/install/ 。验证 Docker 运行状态:在主机上执行命令sudo docker ps; echo $?,输出为0则 Docker 运行状态正常。

    Windows

    • 支持以下 Windows 版本:Windows 2012、Windows 2016、Windows 2019、Windows 2022

    • 架构:支持 Windows/amd64 架构

    • 构建环境:目前 Windows 构建机器仅支持 默认VM环境

    macOS

    • 支持以下 macOS 版本:macOS Sonoma(14.0)、macOS Ventura(13.0)、macOS Monterey(12.0)

    • 架构:支持 macOS/amd64、macOS/arm64 架构

    • 构建环境:目前 macOS 构建机器仅支持 默认VM环境

2.2 新建私有构建集群

进入 Flow 首页 > 全局设置 > 构建集群管理 > 新建构建集群 ,填写构建集群名称标签拥有者等信息,单击确定即可新建一个构建集群。

高的 (20)

2.3 接入新节点

进入Flow 首页 > 组织设置 > 构建集群管理 ,找到目标构建集群,单击进入构建集群详情页,单击接入新节点。目前支持接入 Linux(amd64/arm64架构)、Windows(amd64架构)、macOS(amd64/arm64架构)机器作为构建机。

接入 Linux 构建机

支持手动安装Runner阿里云ECS两种方式接入Linux构建机:

  • 手动安装Runner:直接复制Runner安装命令在待接入的机器上执行,Runner安装成功后,新机器将自动添加至当前集群,请刷新主机列表后查看。

    高的 (15)

    image

  • 阿里云ECS:如果待接入机器为阿里云ECS,你还可以通过选择阿里云ECS接入方式直接添加,云效Flow会自动帮你安装Runner。

    • 选择服务连接

    • 选择待添加机器所在地域

    • 可添加主机列表勾选待添加机器

    • 单击确定即可自动添加机器进入构建集群

    高的 (16)

接入 Windows 构建机

支持手动安装Runner阿里云ECS两种方式接入 Linux 构建机:

  • 手动安装Runner:Windows机器上,打开PowerShell以Administrator用户执行Runner安装命令。Runner安装成功后,新机器将自动添加至当前集群,请刷新主机列表后查看。

    高的 (17)

  • 阿里云ECS:如果待接入机器为阿里云ECS,你还可以通过选择阿里云ECS接入方式直接添加,云效Flow会自动帮你安装Runner。

    • 选择服务连接

    • 选择待添加机器所在地域

    • 可添加主机列表勾选待添加机器。

    • 单击确定即可自动添加机器进入构建集群。

    高的 (18)

接入 macOS 构建机

支持手动安装Runner方式接入macOS构建机:在macOS机器上,直接复制Runner安装命令在待接入的机器上执行,Runner安装成功后,新机器将自动添加至当前集群,请刷新主机列表后查看。

高的 (19)

2.4 构建集群管理

进入Flow 首页 > 组织设置 > 构建集群管理,找到目标构建集群,单击进入构建集群详情页。

  • 查看构建集群主机列表,展示:

    • 实例ID:主机接入时,为主机自动生成的唯一ID。

    • IP:主机接入时,自动读取主机的IP。

    • 主机名:主机接入时,自动读取主机的hostname。

    • 操作系统/架构:主机接入时,自动读取主机的操作系统和架构。

    • 占用情况:本主机是否还存在于其他构建集群。

    • Runner状态:本主机上Runner的连接状态。

    • 安装进度:以阿里云ECS方式添加的机器,可以查看Runner的安装进度及日志。

  • 重装Runner:以阿里云ECS方式添加的机器,当机器Runner状态异常时,可直接通过页面重装Runner。

  • 移除节点:移除节点仅将节点从当前构建集群解除绑定,并不会删除真实机器,也不会卸载Runner(如有需要请参照以下Runner常用操作手动卸载)。

  • 设置集群:可以修改构建集群名称、标签等。

  • 删除集群:删除集群仅会将节点从当前构建集群中解除绑定,并删除集群数据,但并不会删除真实机器,也不会卸载Runner(如有需要请参照以下Runner常用操作手动卸载)。

image

2.5 使用私有构建集群

进入目标流水线编辑页面,流水线任务构建集群可以选择组织创建好的私有构建集群。流水线运行时,任务会随机调度到一台构建机器上执行,私有构建集群的构建时长和并发任务数不计入组织构建配额。

image

说明

使用私有构建集群的构建环境,任务执行期间,流水线任务构建环境分配给用户使用,构建环境使用权限归属用户,任务执行脚本由用户自定义。

更多参考