跳转至

保留 Jenkins 配置参数

Jenkins 的配置文件是通过 ConfigMap 存储的。 但是在实际使用中,您可能会修改某些配置项,如(修改 Agent 的镜像,修改最大并行数)等, 通过 Helm 升级方式就会将您的配置覆盖,为了平衡 Jenkins 升级与您自定义配置之间的差异, 工作台提供了保留 Jenkins 配置参数的功能。

Tip

应用工作台版本 >= v0.33.0,或者安装器版本 >= v0.24.0

配置步骤

  1. 点击左上角的 打开导航栏,选择 容器管理 -> 集群列表 ,找到 kpanda-global-cluster,点击该集群的名称。
  2. 在集群详情页,依次点击 配置与密钥 -> 配置项 ,命名空间选择 amamba-system,通过名称 global-jenkins-casc-config 进行搜索。
  3. 点击 编辑 YAML ,在 data 字段中添加如下配置:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: global-jenkins-casc-config
      namespace: amamba-system
    data:
      jenkins.yaml: | # 编辑这一部分
        xxxxx
    

    其中,jenkins.yaml 需要与 Jenkins CASC 配置项中的 jenkins.yaml 格式保持一致 。 你完成修改后,其中的内容会以 patch 的方式合并到 Jenkins 的配置文件中。

Tip

Jenkins CASC 配置项指的是 Jenkins 可以通过配置文件的方式进行配置的一些参数 (Configuration as Code)。 您可以前往安装了 Jenkins 的命名空间下查看 jenkins-casc-config 这个配置项,key 为 jenkins.yaml

Note

在只升级了 Jenkins 的情况下,因为无法感知到 Jenkins 被升级,因此需要手动更新此 configmap 的 annotation 中的 amamba.io/casc-sync-at 字段(可以修改为任意值),以便可以被应用到 Jenkins 中。

配置示例

下面给出一些配置示例:

  • 添加一个 agent

    jenkins.yaml: |
      jenkins:
        clouds:
          - kubernetes:
              name: "kubernetes"
              templates:
                - name: "new"
                  label: "new"
                  inheritFrom: "nodejs"
                  containers:
                    - name: "nodejs"
                      image: "docker.m.daocloud.io/amambadev/jenkins-agent-nodejs:v0.4.6-20.17.0-ubuntu-podman"
    
  • 设置最大并行的 agent 数量

    jenkins.yaml: |
      jenkins:
        clouds:
          - kubernetes:
              containerCapStr: "100"
    
  • 添加共享库配置:

    jenkins.yaml: |
      unclassified:
        globalLibraries:
          libraries:
          - defaultVersion: "main"
            name: "amamba-shared-lib"
            retriever:
              modernSCM:
                scm:
                  git:
                    remote: "https://github.com/amamba-io/amamba-shared-lib.git"
    

评论