自定义 Jenkins Agent¶
如果需要使用特定环境的JenkinsAgent,如特殊版本的JDK,或者特定的工具,可以通过自定义Jenkins Agent来实现。 本文档描述了如何在DCE5中自定义Jenkins Agent,添加的Agent为全局范围,即所有的流水线都能使用此agent。
配置Jenkins¶
- 前往 容器管理 -> 集群列表, 选择您安装jenkins的集群和命名空间(默认集群名称为kpanda-global-cluster,命名空间为amamba-system)
- 选择 配置与密钥 -> 配置项,选择jenkins安装的命名空间,搜索配置项
jenkins-casc-config
-
选择 编辑yaml, 搜索
jenkins.clouds.kubernetes.templates
,添加以下内容(以添加maven-jdk11为例)- name: "maven-jdk11" # 自定义 Jenkins Agent 的名称。 label: "maven-jdk11" # 自定义 Jenkins Agent 的标签。若要指定多个标签,请用空格来分隔标签。 inheritFrom: "maven" # 该自定义 Jenkins Agent 所继承的现有容器组模板的名称。 containers: - name: "maven" # 该自定义 Jenkins Agent 所继承的现有容器组模板中指定的容器名称。 image: "my-maven-image" # 使用自定义的镜像。
Note
您也可以在containers中添加其他与podTemplate相关的配置项,jenkins采用yaml merge的方式,未填字段则继承自父模板。
-
保存配置项,等待约一分钟后,jenkins会自动重新加载配置。
使用¶
-
通过DAG页面编排流水线
在DAG的编排页面,点击 全局设置,类型选择 node,标签选择您自定义的标签即可。
-
通过JenkinsFile编排流水线
在JenkinsFile的agent片段中引用自定义的标签: