我有一个包含 Jenkinsfile 的公共 git 存储库。Jenkinsfile 需要能够构建三个环境:dev、staging 和 production。
每个环境都需要设置一组变量——其中一些是敏感的,我不想将它们放在公共仓库中。一些例子:
S3_BUCKET_URL
API_ENDPOINT
API_USERNAME
API_PASSWORD
etc.
在一个理想的世界中,我想要一个构建参数,例如 BUILD_ENV,它具有以下选项:“dev”、“staging”和“prod”,以及一些根据环境选择设置相关变量的逻辑。
我查看了凭据插件,但它们不处理多个环境,并且 UI 看起来很尴尬。此外,环境变量可以集中访问,而我们需要将它们直接绑定到构建作业。
我还查看了 env injection 插件,该插件可用于设置属性,但似乎没有办法让它根据所选的构建参数改变这些属性。
有没有办法通过构建管道实现这一点?肯定有一个插件已经提供了这个功能?