首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在詹金斯管道获得vars

在詹金斯管道获得vars
EN

DevOps用户
提问于 2019-04-08 13:03:05
回答 2查看 598关注 0票数 1

在FreeStyle项目中,我有很多env,它们可以从Jenkins工作的任何部分获得。我还使用ghprb插件来触发针对GH PRs的工作,这增加了一些额外的env。

后来,这项工作变得更加复杂,所以我决定把它放在Jenkins管道上。但是现在,问题是,我无法在管道中检索那些先前在Freestyle项目中可用的env。

我是写Jenkins管道的新手,所以我决定为此使用声明式方法(但我不认为这是根本原因)。那么,我的问题是,如何在Jenkins管道中检索env,例如:${BUILD_CAUSE}${ghprbTargetBranch}${ghprbActualCommitAuthorEmail}

EN

回答 2

DevOps用户

发布于 2019-09-09 07:50:26

如果要在声明性管道中使用带有${VAR}语法的环境变量,则需要在environment { }块中定义这些变量。

例如:

代码语言:javascript
复制
environment {
        DISABLE_AUTH = 'true'
        DB_ENGINE    = 'sqlite'
    }

    stages {
        stage('Build') {
            steps {
                echo "Database engine is ${DB_ENGINE}"
                echo "DISABLE_AUTH is ${DISABLE_AUTH}"
                sh 'printenv'
            }
        }
    }

如果您想使用来自其他插件等的环境变量,那么您需要使用env.VAR语法访问它们。例如:

echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"

票数 2
EN

DevOps用户

发布于 2019-04-10 14:00:09

不确定是否有,但将vars放入双引号:

代码语言:javascript
复制
... "${BUILD_CAUSE}"
票数 0
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/6811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档