【问题标题】:How can I use environment variables in jenkins config.xml如何在 jenkins config.xml 中使用环境变量
【发布时间】:2021-07-16 04:38:41
【问题描述】:

我在 docker swarm 上运行多个 jenkins 服务,我想为 config.xml 的某些部分使用环境变量。例如。在我的 docker 服务 .yml 文件中,我在环境变量 JENKINS_WELCOME_MESSAGE 中设置了特定于服务的欢迎消息,我想在 jenkins config.xml 中使用该消息:

<systemMessage>${JENKINS_WELCOME_MESSAGE}</systemMessage>

另一个例子是我的 docker-swarm-plugin 在 jenkins 服务中的配置。它需要知道从代理 jar 下载的 Jenkins URL,所以我想设置一个环境变量 JENKINS_MASTER_URL 并在 config.xml 的 docker-swarm-plugin 部分中使用它:

<clouds>
    <org.jenkinsci.plugins.docker.swarm.DockerSwarmCloud plugin="docker-swarm@1.6">
      <name>Docker Swarm</name>
      <jenkinsUrl>${JENKINS_MASTER_URL}</jenkinsUrl>

这可能吗?

在寻找解决方案时,我发现了这个问题 (Using variables in config.xml)。对我来说,这个问题读起来像我的问题,但答案更多是关于在作业执行中使用环境变量。

【问题讨论】:

    标签: jenkins docker-swarm


    【解决方案1】:

    我也有同样的问题。我想让被签出的存储库使用环境变量,以便我可以在 Jenkins 服务器设置时动态设置它。我继续尝试,它确实有效。

    我有 Jenkins 作业配置,如下所示。

    <scm class="hudson.plugins.git.GitSCM" plugin="git@4.7.2">
        <configVersion>2</configVersion>
        <userRemoteConfigs>
            <hudson.plugins.git.UserRemoteConfig>
                <url>${SEED_REPO}</url>
                <credentialsId>GITHUB_cmsbuilds</credentialsId>
            </hudson.plugins.git.UserRemoteConfig>
        </userRemoteConfigs>
        <branches>
            <hudson.plugins.git.BranchSpec>
                <name>${SEED_BRANCH}</name>
            </hudson.plugins.git.BranchSpec>
        </branches>
        <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
        <submoduleCfg class="empty-list"/>
        <extensions/>
    </scm>
    

    我将 SEED_REPO 和 SEED_BRANCH 定义为全局环境变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-31
      • 2016-10-15
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      相关资源
      最近更新 更多