Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何在Jenkins多分支管道中添加环境变量_Django_Jenkins_Jenkins Pipeline - Fatal编程技术网

Django 如何在Jenkins多分支管道中添加环境变量

Django 如何在Jenkins多分支管道中添加环境变量,django,jenkins,jenkins-pipeline,Django,Jenkins,Jenkins Pipeline,我正在从事一个Django项目,我已经将其与Jenkins多分支管道集成。即使在安装环境注入器插件之后,我也无法通过Multibrach管道选项注入环境变量 我有一些环境变量,比如DB_PASSWORD,必须包含在envvars中 任何洞察都将不胜感激。因为您需要机密,最佳实践方法是使用withCredentials插件,该插件可以加载存储在Jenkins credential store中的凭据,并将其作为ENV变量公开给在其块/闭包中执行的代码。使用withCredentials不会在Jen

我正在从事一个Django项目,我已经将其与Jenkins多分支管道集成。即使在安装环境注入器插件之后,我也无法通过Multibrach管道选项注入环境变量

我有一些环境变量,比如DB_PASSWORD,必须包含在envvars中


任何洞察都将不胜感激。

因为您需要机密,最佳实践方法是使用withCredentials插件,该插件可以加载存储在Jenkins credential store中的凭据,并将其作为ENV变量公开给在其块/闭包中执行的代码。使用withCredentials不会在Jenkins日志中公开它们

withCredentials([[$class: 'UsernamePasswordMultiBinding',
credentialsId: 'DB_Creds', 
usernameVariable: 'DB_USERNAME', 
passwordVariable: 'DB_PASSWORD']]) {// do stuff }
对于非敏感环境变量,请与Env一起使用

withEnv(["AWS_REGION=${params.AWS_REGION}"]) {// do stuff }
如果出于任何原因,您希望在整个管道中设置环境变量(不完全推荐,但有时是必要的):


您可以将它们添加为项目参数,然后只需通过$varName引用它们。你试过这个吗?使用env和使用凭据的
对你不起作用吗?@svmadhavaredy你怎么能在Jenkins文件中引用它们?@mkobit我知道这个选项,但是既然你不能直接添加到Jenkins多分支项目中,我怎么能将它添加到我的Jenkins文件中?@mkobit`withEnv(['DB_PASSWORD=PASSWORD'])){sh''virtualenv venv.venv/bin/activate python manage.py collectstatic--noinput deactivate'}'已经工作,但问题是我正在向公众公开我的DB_密码值,感谢前面的见解。
env.MY_VAR='var'
echo("My Env var = ${env.MY_VAR}")