DevOps 系统提供基于 Jenkins 的容器化 CI/CD 功能。Jenkins 作为 CI/CD 工作流的事实标准,具备强大而灵活的特性。然而,许多插件要求用户在使用 Jenkins 之前必须进行系统级配置。

为了提供可调度的 Jenkins 环境,KubeSphere 企业版采用了 Configuration as Code 的方式进行 Jenkins 系统设置。用户需要登录 Jenkins 仪表板,修改配置后再重新加载。

本文档演示如何在 Jenkins 仪表板上设置 Jenkins 并重新加载配置。

前提条件

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

Jenkins Configuration as Code

KubeSphere 企业版默认安装 Jenkins Configuration as Code 插件,支持通过 YAML 文件定义 Jenkins 的期望状态,便于再现 Jenkins 的配置(包括插件配置)。请参阅该目录查看具体的 Jenkins 配置和示例 YAML 文件。

此外,还可以在 ks-jenkins 仓库中找到 formula.yaml 文件,查看插件版本并按需自定义这些版本。

修改 ConfigMap

建议通过 Configuration as Code (CasC) 在 KubeSphere 企业版中配置 Jenkins。将内置 Jenkins CasC 文件存储为 ConfigMap。

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

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

  3. 在左侧导航栏中选择配置下的配置字典。在配置字典页面,从下拉列表中选择 kubesphere-devops-system,然后点击 jenkins-casc-config

  4. 在详情页面,点击更多操作,在下拉列表中选择编辑 YAML

  5. jenkins-casc-config 的配置模板是一个 YAML 文件,位于 data:jenkins_user.yaml: 部分。在 ConfigMap 的代理 (Kubernetes Jenkins Agent) 中修改容器镜像、标签、资源请求 (Request) 和限制 (Limit) 等内容,或者在 podTemplate 中添加容器。完成操作后,点击确定

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

说明
  • 有关如何通过 CasC 设置 Jenkins 的更多信息,请参阅 Jenkins 文档

  • 在当前版本中,并非所有插件都支持 CasC 设置。CasC 仅会覆盖通过 CasC 设置的插件配置。