Java 如何将Jenkins环境变量注入maven构建?
我需要获取一些Jenkins环境变量,比如BUILD_NUMBER和BUILD_URL,并将它们作为变量注入我的Maven Java构建中 我已将其添加到pom.xml中Java 如何将Jenkins环境变量注入maven构建?,java,maven,jenkins,Java,Maven,Jenkins,我需要获取一些Jenkins环境变量,比如BUILD_NUMBER和BUILD_URL,并将它们作为变量注入我的Maven Java构建中 我已将其添加到pom.xml中 ${env.BUILD\u URL} 在使用mvn安装构建时,我试图通过 private静态最终字符串JENKINS\u BUILD\u URL=System.getProperty(“JENKINS.buildUrl”); 但不幸的是结果是空的 我做错了什么,伙计们 猜测您正在尝试将此值读入单元测试? 然后您必须配置s
${env.BUILD\u URL}
在使用mvn安装构建时,我试图通过
private静态最终字符串JENKINS\u BUILD\u URL=System.getProperty(“JENKINS.buildUrl”);
但不幸的是结果是空的
我做错了什么,伙计们 猜测您正在尝试将此值读入单元测试? 然后您必须配置surefire插件的环境变量:
org.apache.maven.plugins
请注意,在其他插件中也可以这样做,例如Maven Tomcat插件。这就是我在应用程序中实现的方法
在pom.xml中添加属性
UTF-8
${env.BUILD_NUMBER}
在.properties文件中创建新属性
jenkins.build.number = ${jenkins.buildNumber}
通过添加
src/main/resources
真的
然后使用以下代码从java中读取它
properties.load(MyClass.class.getResourceAsStream(“/project.properties”);
version=properties.getProperty(“jenkins.build.number”);
将maven目标更改为clean package-Denv.BUILD\u NUMBER=${BUILD\u NUMBER}
我在应用程序的about页面中显示了这一点。我通过引入maven目标-Djenkins.buildUrl=${BUILD\u URL}获得了变量。我如何在不使用-Djenkins.buildUrl=${BUILD\u URL}的情况下实例化变量?我有大量的Jenkins作业,我希望将其保留在源代码中,而不是Jenkins配置中。谢谢,它可以工作,但我必须在构建阶段包括新的maven目标-Djenkins.buildUrl=${build_URL}在每个作业中。是否有其他方法实例化变量?Surefire配置应该足够了