jenkins - 在 Jenkins 中按名称获取环境变量
问题描述
我正在使用 Jenkins 模板引擎,我面临以下问题:
假设我想要一个将工件上传到 Artifactory 的库步骤。此步骤应将 git 提交的 URL 设置为属性。我希望每个项目都在pipeline_config.groovy
文件中提供此 URL,而不是在步骤中硬编码。
问题是,这个 URL 由一些固定字符串和一个动态值组成,即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 文件中检索一些动态变量?
@史蒂文-特拉纳
解决方案
env
假设已经为构建设置了环境,JTE 可以解析管道配置中的var。
如果 GIT_COMMIT 来自正在构建的项目,您可以使用 git cli 从库步骤中确定该信息,然后连接从管道配置提供的 base-url。
推荐阅读
- python - 或最后一个词在单个正则表达式中的条件不起作用python
- azure - 无法将数据库克隆到不同的 sql server
- php - 从下到上回声
- terraform - 使用 terraform 0.11 创建 libvirt 网络后注入 iptables 规则
- azure - Azure 应用服务:WEBSITE_RUN_FROM_PACKAGE - 旧的 zip 文件会被删除吗?
- javascript - Safari 输入框错误 - 无法选择文本
- python - 如何在 concurrent.futures 中获取分析完成的未来的名称?
- html - 在媒体查询中移动文本
- java - 如何在Java中以非阻塞方式列出目录中的文件?
- java - HtmlUnit 可以覆盖 JavaScript 函数吗?