有可能这样做吗?
例如,可以执行以下操作:
System.getEnv("$(env.BUILD_URL)");
我无法访问Jenkins,所以无法自己尝试:(
非常感谢任何帮助。
答案 0 :(得分:4)
假设你正在使用Maven(你已经标记了这个问题),我只需将以下内容添加到我的pom.xml文件中:
...
<properties>
<!-- Hudson properties: see http://wiki.hudson-ci.org/display/HUDSON/Building+a+software+project#Buildingasoftwareproject-HudsonSetEnvironmentVariables -->
<jenkins.buildId>${env.BUILD_ID}</jenkins.buildId>
<jenkins.buildNumber>${env.BUILD_NUMBER}</jenkins.buildNumber>
<jenkins.buildTag>${env.BUILD_TAG}</jenkins.buildTag>
<jenkins.cvsBranch>${env.CVS_BRANCH}</jenkins.cvsBranch>
<jenkins.executorNumber>${env.EXECUTOR_NUMBER}</jenkins.executorNumber>
<jenkins.hudsonUrl>${env.HUDSON_URL}</jenkins.hudsonUrl>
<jenkins.javaHome>${env.JAVA_HOME}</jenkins.javaHome>
<jenkins.jobName>${env.JOB_NAME}</jenkins.jobName>
<jenkins.svnRevision>${env.SVN_REVISION}</jenkins.svnRevision>
<jenkins.workspace>${env.WORKSPACE}</jenkins.workspace>
</properties>
...
...然后从你的代码中你可以简单地做一个:
String url = System.getProperty("jenkins.hudsonUrl"); // could be null
将这些放入属性可以使生活更加简单,特别是在使用Maven配置文件来控制我的构建时。例如,我确保创建一个“jenkins”配置文件,当我在Jenkins构建服务器上构建时,该配置文件被激活。完成后,将设置所有上述jenkins属性。如果不作为jenkins配置文件运行,那些属性将设置为其他一些默认值。无论如何,这是另一个话题,但值得深思。希望它有意义。