我正在开发一个 Django 项目,我已经将它与 Jenkins Multibranch Pipeline 集成在一起。即使安装了 Environment Injector 插件,我也无法通过 Multibrach Pipeline 选项注入(inject)环境变量。
我有像 DB_PASSWORD 这样的环境变量,必须包含在环境变量中。
任何见解将不胜感激。
最佳答案
由于您需要 secret ,最佳实践方法是使用 withCredentials 插件,它可以加载存储在 Jenkins 凭证存储中的凭证,并将它们作为 ENV 变量公开给在其 block /闭包中执行的代码。使用 withCredentials 不会在 Jenkins 日志中公开它们
withCredentials([[$class: 'UsernamePasswordMultiBinding',
credentialsId: 'DB_Creds',
usernameVariable: 'DB_USERNAME',
passwordVariable: 'DB_PASSWORD']]) {// do stuff }
对于非敏感环境变量,使用 withEnv
withEnv(["AWS_REGION=${params.AWS_REGION}"]) {// do stuff }
如果出于任何原因您希望在整个管道中设置环境变量(不完全推荐,但有时是必要的):
env.MY_VAR='var'
echo("My Env var = ${env.MY_VAR}")
关于django - 如何在 Jenkins 多分支管道中添加环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48323136/