最近感觉 jenkins 的 pipeline 写烦了,调试起来也比较麻烦。
突然感觉,CI 过程及其配置管理依赖工具的 DSL 不太好。哪天要把 jenkins 的 CI 迁移到 github action 上,又要重写。
之前我们的部分 CI Job 的工作会有一些 python 脚本(使用 python 是因为主要开发语言是 python )来处理,而 jenkins 或者 github action 负责调用,以及传入一些环境变量、security 配置。 像这种 job ,在不同 CI 工具间切换,会比纯 jenkins pipeline 的好迁移。
如果把这种 Job 的形式进行到底,像这样:
- CI job 由团队熟练的开发语言来实现,抽离一些公共模块出来复用
- CI 所需要的 security 配置加密到代码里,使用类似 sops 或 transcrypt 方案
- jenkins/github action 这类工具负责解密配置,以及调用 ci 工具
不知道这样的方案如何? 很想知道各位的 CI 方案是什么样子的?有什么想法。