在名为build的内部使用Jenkinsfile环境变量

时间:2017-08-03 16:26:02

标签: jenkins jenkins-pipeline

假设我有一个看起来像这样的Jenkins文件:

pipeline {
    agent any

    environment {
        FOO = "bar"
    }

    stages {
        stage('Build') {
            steps  {
                 main: {
                    build 'foo-job'
                }
            }
        }
    }
}

我如何在FOO的shell脚本中使用foo-job的值?我已尝试${FOO}$FOO(空),以及${env.FOO}(显然是错误替换)。

1 个答案:

答案 0 :(得分:1)

作业foo-job参数化了吗?您不能只是简单地将环境变量传递给下游作业,只需在管道中设置它即可。在您的情况下,您可以将作业foo-job称为:

build(job: 'foo-job', parameters: [string(name: 'FOO', value: 'FOO')])

此处FOO是作业foo-job的字符串类型的输入参数。有关详细信息,请参阅https://jenkins.io/doc/pipeline/steps/pipeline-build-step/