环境变量能够全局设置,以下面的示例或每一个阶段,正如你所料,每一个阶段设置环境变量意味着它们仅适用于定义它们的阶段。node
Jenkinsfile (Declarative Pipeline) pipeline { agent any environment { DISABLE_AUTH = 'true' DB_ENGINE = 'sqlite' } stages { stage('Build') { steps { sh 'printenv' } } } }
脚本管道(高级):sql
Jenkinsfile (Scripted Pipeline) node { withEnv(['DISABLE_AUTH=true', 'DB_ENGINE=sqlite']) { stage('Build') { sh 'printenv' } } }
这种从Jenkinsfile
中定义环境变量的方法对于指示脚本(如Makefile
)以不一样的方式配置构建或测试以在Jenkins中运行它们很是有用。segmentfault
环境变量的另外一个常见用途是在构建或测试脚本中设置或覆盖“虚拟”凭据,由于将凭据直接放入Jenkinsfile
(显然)是一个坏主意,Jenkins管道容许用户快速安全地访问Jenkinsfile
中的预约义凭据,而无需知道其值。安全