繁体   English   中英

在Jenkins中按名称获取环境变量

[英]Get an environment variable by name in Jenkins

我正在使用 Jenkins 模板引擎,但面临以下问题:

假设我想要一个将工件上传到 Artifactory 的库步骤。 这一步应该将 git commit 的 URL 设置为一个属性。 我希望每个项目都在pipeline_config.groovy文件中提供此 URL,而不是在步骤中进行硬编码。

问题是,这个 URL 由一些固定字符串和一个动态值组成,即env.GIT_COMMIT :例如: http://specific-server.com/project/${env.GIT_COMMIT} : env.GIT_COMMIT http://specific-server.com/project/${env.GIT_COMMIT}

最后,我希望步骤如下:

// upload.groovy

def call() {
   def props = config.git_url
}

和 pipeline_config 文件:

// pipeline_config.groovy

libraries {
  artifactory
  {
     git_url = "http://specific-server/project/${env.GIT_COMMIT}"
  }  
}

所以问题归结为:如何指示库步骤从 pipeline_config.groovy 文件中检索一些动态变量?

@史蒂文-特拉纳

JTE 可以解析管道配置中的env var,假设已经为构建设置了环境。

如果 GIT_COMMIT 来自正在构建的项目,您可以使用 git cli 从库步骤中确定该信息,然后连接从管道配置提供的 base-url。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM