jenkins内置提供的全局变量

列出环境变量

让我们首先列出所有可用的环境变量。您可以通过两种不同的方法进行操作。您可以${YOUR_JENKINS_HOST}/env-vars.html在Jenkins主服务器上打开页面,以获取HTML页面上列出的所有环境变量的列表

方法2:

pipeline {

        agent any

                stages {

                        stage("Env Variables") {

                                steps {

                                        sh "printenv" }

}

}

}

使用printenv | sort命令组合来获取环境变量的排序列表可能很有用

读取环境变量

您可以在通过env对象的管道步骤中访问环境变量,例如,env.BUILD_NUMBER将返回当前的内部版本号。您也可以使用简写版本BUILD_NUMBER,但是在此变体中,这可能会使某些用户感到困惑-它缺少BUILD_NUMBER来自环境变量的上下文

pipeline {

        agent any

        stages {

                stage("Env Variables") {

                        steps {

                                echo "build number is ${env.BUILD_NUMBER}"

                                 echo "You can also use ${BUILD_NUMBER} -> ${BUILD_NUMBER}"

                                sh 'echo "I can access $BUILD_NUMBER in shell command as well."' }

}

}

}

设置环境变量

可以使用environment { }block 来声明性地设置环境变量,必须使用env.VARIABLE_NAME或命令来设置环境变量withEnv(["VARIABLE_NAME=value"]) {}

pipeline { agent any environment { FOO = "bar" } stages { stage("Env Variables") { environment { NAME = "Alan" } steps { echo "FOO = ${env.FOO}" echo "NAME = ${env.NAME}" script { env.TEST_VARIABLE = "some test value" } echo "TEST_VARIABLE = ${env.TEST_VARIABLE}" withEnv(["ANOTHER_ENV_VAR=here is some value"]) { echo "ANOTHER_ENV_VAR = ${env.ANOTHER_ENV_VAR}" } } } }}

使用sh捕获环境变量

您还可以将shell命令的输出捕获为环境变量。请记住,您需要使用sh(script: 'cmd', returnStdout:true)格式来强制sh步骤返回输出,以便可以捕获它并将其存储在变量中

pipeline { agent any environment { LS = "${sh(script:'ls -lah', returnStdout: true)}" } stages { stage("Env Variables") { steps { echo "LS = ${env.LS}" } } }}

需要写成这样:

echo env.WORKSPACE

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐