如何将 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中使用。