自定义 Jenkins Agent

若要使用运行特定环境(例如 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
              '''
            }
          }
        }
      }
    }

通过邮件接收 KubeSphere 最新的技术博客与产品更新的通知


感谢您的反馈。如果您有关于如何使用 KubeSphere 的具体问题,请在 Slack 上提问。如果您想报告问题或提出改进建议,请在 GitHub 存储库中打开问题。