51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

kubesphere 流水线自定义 Jenkins Agent

配置完后,大概需要等2分钟才生效。

自定义 Jenkins Agent

自定义 Jenkins Agent (kubesphere.io)

修改jenkins-casc-config 后 请至少等待 70 秒,您的改动会自动重新加载。

注意:里边有2个配置文件,我们选择第2个jenkisn-user 那个,大概在 600多行。

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

  2. 点击左上角的平台管理 ,选择集群管理 ,然后在左侧导航栏点击配置 下的配置字典

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

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

  5. 在弹出的对话框中,搜寻至 data.jenkins_user.yaml:jenkins.clouds.kubernetes.templates 下方并输入以下代码,点击确定

               - name: "mavenjdk17"
                 label: "jdk17 maven java"
                 inheritFrom: "maven"
                 containers:
                 - name: "maven"
                   image: "kubesphere/builder-maven:v3.2.1-jdk17"                  
    

这里要注意,一定是在 下图所示的地方编辑,不然排序会乱(复制到 notepad 再粘贴回去,就乱了)

配置完后,大概需要等 2分钟才生效。

有2个 ,只需要 jenkins_user .yaml 的就可以, 大概是在600多行

注意:

如果要添加自定义的, 不需要在jenkins.yaml 中配置, 只需要在jenkins_user.yaml中配置。

如果要修改 官方的,就㤇在jenkins.yaml中修改, 并且在jenkins_user.yaml中修改。

参考: 构建和部署 Gradle 工程 - KubeSphere 开发者社区

              - name: "go18"
                label: "go18"
                inheritFrom: "go"
                containers:
                - name: "go"
                  image: "kubesphere/builder-go:v3.2.2-1.18"

jdk17

              - name: "mavenjdk17gradle74"
                label: "jdk17gradle74"
                inheritFrom: "maven"
                containers:
                - name: "maven"
                  image: "registry.cn-hangzhou.aliyuncs.com/baimeidashu/jdk17gradle74:v5"      

解释:

- 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" # 此镜像只用于测试。您可以使用自己的镜像。

要使用自定义 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

          '''

        }

      }

    }

  }

}
赞(6)
未经允许不得转载:工具盒子 » kubesphere 流水线自定义 Jenkins Agent