Jenkins 配置即代码与插件治理

验证:未记录
适用版本
未记录
验证范围
尚未登记验证记录。

JCasC(Jenkins Configuration as Code,Jenkins 配置即代码)管理控制节点设置;Jenkinsfile 管流水线。两者都必须通过代码审查,仓库不能包含密码。

1. 建立可重复部署输入#

先完成 生产部署,将以下文件纳入平台仓库:

文件 管什么
Dockerfile、plugins.txt 核心、Java、插件组成的不可变镜像
jenkins.yaml 执行器、登录方式、授权、站点地址
compose.yaml 持久卷、资源、网络、秘密挂载
versions.env 经验证的基础镜像和最终镜像 digest;不放凭据

下载配置 中 ${JENKINS_BOOTSTRAP_PASSWORD} 由 /run/secrets/JENKINS_BOOTSTRAP_PASSWORD 文件提供。首次启动只允许 bootstrap-admin 登录,匿名用户无权限;接入企业身份后保留独立受控的紧急访问方案,不能删除唯一管理员。

2. 锁定整个交付物#

plugins.txt 固定顶层插件版本,依赖插件仍可能变化;生产晋级同一个最终镜像 digest,不在每个环境重新构建。在 Manage Jenkins → Plugins → Installed 中导出/记录实际完整插件版本,并与核心、Java、最终镜像 digest、配置提交号一起归档。

持久卷中的旧插件可能覆盖预装版本:停止在线随意更新插件,更新前对照实际插件清单;不要为解决差异直接删除 plugins 目录。恢复时也必须使用对应 Home 快照。

3. 验证、上线与恢复#

  1. 用空白 Home 在隔离环境启动候选镜像,秘密使用测试值,禁止连接生产 Agent/Webhook。
  2. 进入 Manage Jenkins → Configuration as Code,检查加载结果;确认 Controller 执行器为 0,匿名访问被拒绝,管理员能够登录。
  3. 在该页面检查候选配置;支持热加载的设置通过 Reload 应用,涉及插件、核心、Java 的变更走重启窗口。
  4. 运行真实项目测试流水线,确认 Git 拉取、Agent 创建、凭据绑定、锁、归档均正常。
  5. 备份生产 Home,在维护窗口晋级同一镜像和配置提交;验证失败按 恢复步骤 还原。

导出功能仅用于比较结构;导出文件可能含敏感配置,不直接提交。插件字段依版本变化,以当前实例的配置参考为准。日常设置从平台仓库变更,界面紧急修改需立即回写复核。

4. Kubernetes Controller 的边界#

动态 Agent 的集群内认证要求 Controller 已位于 Kubernetes。虚拟机安装可先使用 SSH Agent。迁移时使用 官方 Helm Chart,固定 Chart 版本并检查:单副本、持久卷、备份、服务账号名称、0 执行器、内部服务、TLS、插件清单及配置来源。

先在隔离命名空间渲染审查,再连接测试 Agent。不能让两个 Controller 同时挂载同一 Home;迁移需要单独的恢复演练和切换窗口。

参考:JCasC · 插件管理。

插件准入、依赖、升级和回退的检查清单见关键插件专题。

搜索文档

输入关键词,搜索所有文档。

↑ ↓ 选择 · Enter 打开 · Esc 关闭