内置 CI/CD 服务
1. 默认内置 CI/CD 服务说明
版本号:v1.4.10 后(包括该版本),集群版中的 CI/CD 服务默认支持自动安装,不需要按照之前方式来单独安装,之前的版本需要手动打开配置。
2. 前置条件
部署中需要单独为 CI/CD 设置固定节点,即增加一台节点专门部署,且最好不要和 Weda 其他服务部署在同一个节点上。我们通过 nodeSelector 来确定节点选择器,需要事先在 k8s 节点上设置。如果不设置,将根据资源情况,自行选择合适节点部署。同时设置 nodeSelector 后,需要在对应的节点上创建一个 CI/CD 数据持久化的目录(即 hostPath 的值)。
重要提示
- 如果
nodeSelector设置和hostPath不在同一个节点,会导致 CI/CD 服务报错,无法正常启动 - 如果
nodeSelector和hostPath不设置,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 |
提示
internalBuild和build必须至少开启一个- 两个同时开启时,默认使用集群内部的 CI/CD 服务(
internalBuild)