若要使用运行特定环境(例如 JDK 11)的 Jenkins Agent,可以在 KubeSphere 企业版上自定义 Jenkins Agent。

本文档描述如何在 KubeSphere 企业版上自定义 Jenkins Agent。

前提条件

KubeSphere 企业版平台需要安装并启用 DevOps 扩展组件。

自定义 Jenkins Agent

  1. admin 用户登录 KubeSphere 企业版 Web 控制台。

  2. 点击集群管理,进入一个集群。

  3. 在左侧导航栏选择配置下的配置字典

  4. 配置字典页面的搜索框中输入 jenkins-casc-config 并按回车键

  5. 点击 jenkins-casc-config 进入其详情页面,点击更多操作,选择编辑 YAML

  6. 在弹出的对话框中,搜寻至 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: "kubespheredev/builder-maven:v3.2.0jdk11" # 此镜像只用于测试。请使用您自己的镜像。
    说明

    请确保遵守 YAML 文件中的缩进。

  7. 等待 1 ~ 2 分钟,会自动重新加载新的配置。

  8. 要使用自定义的 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
              '''
            }
          }
        }
      }
    }