如何将Jenkins从stable Helm仓库迁移至jenkinsci仓库并完成JCasc配置迁移
Jenkins 旧stable仓库Helm Chart升级并迁移配置到JCasc操作指南
1. 前置备份
- 备份当前Jenkins实例的PV数据,确认PV回收策略已调整为
Retain,避免后续操作误删数据 - 导出当前Helm Release的现有配置,执行命令:
helm get values <你的Jenkins Release名称> -n <Jenkins所在命名空间> > old-values.yaml - 在现有Jenkins实例中安装「Configuration as Code(JCasc)」插件,进入系统配置的JCasc管理页,导出当前全量配置yaml,手动移除导出内容中的临时密钥、动态生成的token等冗余敏感字段。
2. 适配新Jenkins Helm Chart配置
- 拉取最新的jenkinsci官方Helm Chart到本地,对照旧的
old-values.yaml调整新Chart的values.yaml配置:- 插件列表同步:将旧实例中已安装的插件清单整理到新配置的
controller.installPlugins字段,提前校验插件与新版本Jenkins的兼容性 - 开启JCasc支持:在
controller.JCasC字段下将enabled设为true,将之前导出并整理好的JCasc配置放到controller.JCasC.configScripts子字段下 - 敏感配置处理:所有密码、密钥、凭据类配置不要明文写在values.yaml中,提前创建Kubernetes Secret存储敏感值,在JCasc配置中通过环境变量引用对应Secret的键值即可
- 存储配置对齐:若要复用原有PV数据,可在
controller.persistence字段下配置existingClaim为旧实例使用的PVC名称,避免新建存储卷
- 插件列表同步:将旧实例中已安装的插件清单整理到新配置的
3. 测试验证
- 单独启动一套临时测试环境,用整理好的新values.yaml部署Jenkins实例,验证以下内容:
- JCasc配置是否正常加载无报错
- 原有任务、权限配置、系统参数是否和旧实例一致
- 现有构建任务可正常执行,无插件兼容类报错
4. 正式升级迁移
- 将旧Jenkins实例调整为静默模式,停止所有新构建任务的调度,等待所有运行中任务执行完成
- 再次备份一次最新的Jenkins PV数据
- 卸载旧的stable仓库Jenkins Helm Release
- 用适配好的values.yaml安装jenkinsci官方Helm Chart,指定和旧实例相同的命名空间、PVC配置
5. 迁移后校验
- 实例启动完成后,进入JCasc管理页确认配置加载状态,无异常报错
- 抽样测试常用构建任务、用户权限、集成配置(比如代码仓库对接、制品库对接等)功能正常
- 观察24小时无异常后即可完成整个迁移流程
内容的提问来源于stack exchange,提问作者Gopika vijay
相关产品推荐
相关产品推荐

