我想在 Jenkins 中设置很多变量。我试过将它们放在 jenkins
用户的 .bashrc
、.bash_profile
和 .profile
中,但 Jenkins 找不到他们在构建发生时。
唯一可行的方法是将所有环境变量放入 Jenkinsfile
中,如下所示:
env.INTERCOM_APP_ID = '12312'
env.INTERCOM_PERSONAL_ACCESS_TOKEN = '1231'
env.INTERCOM_IDENTITY_VERIFICATION_KEY='asadfas'
但我认为这不是一个好方法。
在 Jenkins 中设置 env 变量的正确方法是什么?
最佳答案
对我来说,这似乎很正常。 INTERCOM_PERSONAL_ACCESS_TOKEN
和 INTERCOM_IDENTITY_VERIFICATION_KEY
应被视为文本凭据,您可以使用 environment
添加环境变量的指令。
stages {
stage('Example') {
environment {
INTERCOM_APP_ID = '12312'
INTERCOM_PERSONAL_ACCESS_TOKEN = credentials('TokenCrednetialsID')
INTERCOM_IDENTITY_VERIFICATION_KEY = credentials('VerificationCrednetialsID')
}
steps {
echo "Hello ${env.INTERCOM_APP_ID}"
}
}
}
如果您需要将环境变量与 JenkinsFile
分开,您可以创建一个包含所有这些的 groovy 文件,然后使用
Jenkinsfile
load "$JENKINS_HOME/.envvars/stacktest-staging.groovy"
有关更多信息,请查看以下链接
关于linux - 在 Jenkins 中找不到环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51414302/