在詹金斯中找不到环境变量

时间:2018-07-19 04:20:24

标签: linux ubuntu jenkins environment-variables

我想在詹金斯中设置很多变量。我曾尝试将它们放入.bashrc用户的.bash_profile.profilejenkins中,但是Jenkins在构建时找不到它们。

唯一可行的方法是将所有env变量放入Jenkinsfile内,如下所示:

env.INTERCOM_APP_ID = '12312'
env.INTERCOM_PERSONAL_ACCESS_TOKEN = '1231'
env.INTERCOM_IDENTITY_VERIFICATION_KEY='asadfas'

但是我不认为这是个好方法。

在Jenkins中设置环境变量的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

在我看来,这很正常。 INTERCOM_PERSONAL_ACCESS_TOKENINTERCOM_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分开,则可以创建一个包含所有变量的普通文件,然后使用

将该文件加载到Jenkinsfile
load "$JENKINS_HOME/.envvars/stacktest-staging.groovy"

有关更多信息,请查看以下链接

https://jenkins.io/doc/pipeline/steps/workflow-cps/

SO: Load file with environment variables ...

答案 1 :(得分:0)

Jenkins将环境变量重置为其作业的某些默认值。设置它们的最佳方法是在jenkins配置中。您可以设置全局变量,为项目设置本地变量,或为节点设置本地变量。

现在我不记得此功能是内置的还是由某些插件提供的。