自定义 Jenkins Agent
若要使用运行特定环境(例如 JDK 11)的 Jenkins Agent,可以在 KubeSphere 上自定义 Jenkins Agent。
本文档描述如何在 KubeSphere 上自定义 Jenkins Agent。
前提条件
KubeSphere 平台需要安装并启用 DevOps 扩展组件。
自定义 Jenkins Agent
以 admin 用户登录 KubeSphere Web 控制台。
点击集群管理,进入一个集群。
在左侧导航栏选择配置下的配置字典。
在配置字典页面的搜索框中输入 jenkins-casc-config 并按回车键。
点击 jenkins-casc-config 进入其详情页面,点击更多操作,选择编辑 YAML。
在弹出的对话框中,搜寻至 data:jenkins_user.yaml:jenkins:clouds:kubernetes:templates 下方并输入以下代码,点击确定。
- name: "maven-jdk11" # 自定义 Jenkins Agent 的名称。
label: "maven jdk11" # 自定义 Jenkins Agent 的标签。若要指定多个标签,请用空格来分隔标签。
inheritFrom: "maven" # 自定义 Jenkins Agent 所继承的现有容器组模板的名称。
containers:
- name: "maven" # 自定义 Jenkins Agent 所继承的现有容器组模板中指定的容器名称。
image: "kubesphereondev/builder-maven:v3.2.0jdk11" # 此镜像只用于测试。请使用您自己的镜像。
等待 1 ~ 2 分钟,会自动重新加载新的配置。
要使用自定义的 Jenkins Agent,请参考下方的示例 Jenkinsfile,在创建流水线时指定自定义 Jenkins Agent 对应的标签和容器名。
pipeline {
agent {
node {
label 'maven && jdk11'
}
}
stages {
stage('Print Maven and JDK version') {
steps {
container('maven') {
sh '''
mvn -v
java -version
'''
}
}
}
}
}
感谢您的反馈。如果您有关于如何使用 KubeSphere 的具体问题,请在 Slack 上提问。如果您想报告问题或提出改进建议,请在 GitHub 存储库中打开问题。