簡體   English   中英

如何將共享庫的分支名稱指定為環境變量

[英]How to specify branch name for shared library as environment variable

我想引用/指定(語法)分支,它被設置為 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 設置為 env 變量一樣

<?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 代碼作為配置插件,你可以從 docker-compose 傳遞變量並將其提供給配置文件,當 Jenkins 加載配置文件為 Jenkins 准備配置時就可以了。 一個例子可以在這里找到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM