如何解决如何将共享库的分支名称指定为环境变量
我想引用/指定(语法)分支,该分支设置为Jenkins共享库的环境变量,将在docker容器中提供。 例如:
@Library(['my-shared-library',BRANCH_NAME])
尝试使用$ {BRANCH_NAME} $ {env.BRANCH_NAME}
我将在docker-compose.yml中提供BRANCH_NAME作为环境变量
我也想在org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml中实现env变量
就像我将PIPELINE_VERSION设置为环境变量一样
<?xml version='1.1' encoding='UTF-8'?>
<org.jenkinsci.plugins.workflow.libs.GlobalLibraries plugin="workflow-cps-global-lib@2.15">
<libraries>
<org.jenkinsci.plugins.workflow.libs.LibraryConfiguration>
<name>XXXXXXXXXXXX</name>
<retriever class="org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever">
<scm class="jenkins.plugins.git.GitSCMSource" plugin="git@3.12.0">
<id>XXXXXXXXXXXXXXXXXXXXXXXX</id>
<remote>XXXXXXXXXXXXXXXXXXX</remote>
<credentialsId>jXXXXXXXXXXXXXXXXXXXX</credentialsId>
<traits>
<jenkins.plugins.git.traits.BranchDiscoveryTrait/>
</traits>
</scm>
</retriever>
<defaultVersion>${PIPELINE_RELEASE_VERSION}</defaultVersion>
<implicit>true</implicit>
<allowVersionOverride>true</allowVersionOverride>
<includeInChangesets>false</includeInChangesets>
</org.jenkinsci.plugins.workflow.libs.LibraryConfiguration>
</libraries>
</org.jenkinsci.plugins.workflow.libs.GlobalLibraries>
谢谢, 草间
解决方法
我认为无论如何都不可能使环境变量可用于 org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml。但是如果你使用 Jenkins Code As Configuration 插件,你可以从 docker-compose 传递变量并将其提供给配置文件,当 Jenkins 加载配置文件为 Jenkins 准备配置时就可以了。 可以找到一个例子here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。