我正在docker群上运行几个jenkins服务,并且我想在config.xml
的某些部分使用环境变量。例如。在我的docker服务.yml
文件中,我在环境变量JENKINS_WELCOME_MESSAGE
中设置了服务特定的欢迎消息,我想在jenkins config.xml
中使用该消息:
<systemMessage>${JENKINS_WELCOME_MESSAGE}</systemMessage>
另一个示例是jenkins服务中我的docker-swarm-plugin
的配置。它需要知道用于从属代理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)。对我来说,这个问题听起来像我的问题,但答案更多是关于在作业执行中使用环境变量。
答案 0 :(得分:0)
我有同样的问题。我想让被检出的存储库使用环境变量,以便我可以在 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 定义为全局环境变量。