是否有可能做到这一点?
例如,可以执行以下操作:
System.getEnv("$(env.BUILD_URL)");
我无法访问 Jenkins,所以无法自己尝试 :(
任何帮助将不胜感激。
是否有可能做到这一点?
例如,可以执行以下操作:
System.getEnv("$(env.BUILD_URL)");
我无法访问 Jenkins,所以无法自己尝试 :(
任何帮助将不胜感激。
假设您使用的是 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 配置文件运行时,这些属性将设置为其他一些默认值。无论如何,这是另一个话题,但值得深思。希望这是有道理的。