跳到主要内容

内置 CI/CD 服务

1. 默认内置 CI/CD 服务说明

版本号:v1.4.10 后(包括该版本),集群版中的 CI/CD 服务默认支持自动安装,不需要按照之前方式来单独安装,之前的版本需要手动打开配置。

2. 前置条件

部署中需要单独为 CI/CD 设置固定节点,即增加一台节点专门部署,且最好不要和 Weda 其他服务部署在同一个节点上。我们通过 nodeSelector 来确定节点选择器,需要事先在 k8s 节点上设置。如果不设置,将根据资源情况,自行选择合适节点部署。同时设置 nodeSelector 后,需要在对应的节点上创建一个 CI/CD 数据持久化的目录(即 hostPath 的值)。

重要提示
  • 如果 nodeSelector 设置和 hostPath 不在同一个节点,会导致 CI/CD 服务报错,无法正常启动
  • 如果 nodeSelectorhostPath 不设置,CI/CD 数据无法持久化,将查看不了构建历史记录

操作步骤如下:

2.1 设置 Label(节点选择器)

kubectl label nodes <node> weda-gitness=service
说明

<node> 为 k8s 中的节点名称

2.2 在 Label 所在节点上创建目录

mkdir -p /data1/gitness
注意
  • 目录 /data1/gitness 为示例,请根据实际情况调整
  • 如果有多个磁盘或生产环境,强烈建议将 /data1/gitness 数据目录放在独立的、大容量的磁盘上,避免系统盘被占满导致服务异常

3. 配置

internalBuild:
## 内部 CI/CD 服务,true 为开启(会自动部署),false 为不开启(不自动部署)
## internalBuild 与 build 都是 CI/CD 服务,区别:
## - internalBuild: 部署在集群内部
## - build: 部署在外部
## 但是必须开启一个,两个同时开启时,会默认部署集群内部的 CI/CD 服务
enabled: true

## 节点选择器标签
nodeSelector:
## weda-gitness: service

## 节点选择器标签所在节点上创建目录,例如:/data1/gitness
hostPath: ""

配置说明:

配置项说明示例值
enabled是否开启内部 CI/CD 服务true / false
nodeSelector节点选择器标签weda-gitness: service
hostPath数据持久化目录路径/data1/gitness
提示
  • internalBuildbuild 必须至少开启一个
  • 两个同时开启时,默认使用集群内部的 CI/CD 服务(internalBuild