如何将 Jenkins 环境变量注入 pom.xml
How to inject Jenkins environmental variables into pom.xml
我正在为 Atlassian Jira 开发插件,并试图让我的插件版本号与 Jenkins BUILD_NUMBER 环境变量相同。
插件内置在 docker 容器中,使用命令:
docker 运行 --rm --volume $PWD/src/jira_plugin/:/opt/atlas/ codeclou/docker-atlassian-sdk:最新图集包
POM.xml:
<project>
<version>${jenkins.buildNumber}</version>
...
<properties>
<jenkins.buildNumber>${env.BUILD_NUMBER}</jenkins.buildNumber>
</properties>
</project>
结果:
[INFO] Building jar: /opt/atlas/target/test-null.jar ..[ERROR] Failed
to execute goal
com.atlassian.maven.plugins:maven-jira-plugin:6.3.15:generate-obr-artifact
(default-generate-obr-artifact) on project test: Source
'/opt/atlas/target/test${env.BUILD_NUMBER}.jar' does not exist
然而命令
echo `printenv`
in docker 正确显示 BUILD_NUMBER var.
问题:
我应该在 pom.xml 中添加什么以在 pom.xml 中注入 BUILD_NUMBER var 并正确显示版本?
如有任何帮助,我们将不胜感激。
我想通了:
docker 运行 -e BUILD_NUMBER="${BUILD_NUMBER}" ...
所以这个变量会被注入并且可以在pom.xml中使用。
我正在为 Atlassian Jira 开发插件,并试图让我的插件版本号与 Jenkins BUILD_NUMBER 环境变量相同。
插件内置在 docker 容器中,使用命令:
docker 运行 --rm --volume $PWD/src/jira_plugin/:/opt/atlas/ codeclou/docker-atlassian-sdk:最新图集包
POM.xml:
<project>
<version>${jenkins.buildNumber}</version>
...
<properties>
<jenkins.buildNumber>${env.BUILD_NUMBER}</jenkins.buildNumber>
</properties>
</project>
结果:
[INFO] Building jar: /opt/atlas/target/test-null.jar ..[ERROR] Failed to execute goal com.atlassian.maven.plugins:maven-jira-plugin:6.3.15:generate-obr-artifact (default-generate-obr-artifact) on project test: Source '/opt/atlas/target/test${env.BUILD_NUMBER}.jar' does not exist
然而命令
echo `printenv`
in docker 正确显示 BUILD_NUMBER var.
问题:
我应该在 pom.xml 中添加什么以在 pom.xml 中注入 BUILD_NUMBER var 并正确显示版本?
如有任何帮助,我们将不胜感激。
我想通了:
docker 运行 -e BUILD_NUMBER="${BUILD_NUMBER}" ...
所以这个变量会被注入并且可以在pom.xml中使用。