我目前正在创建一个自定义Maven enforcer rule,为了它的目的,我需要知道用于给定作业的SCM(Subversion,Git ...)的URL,即源只是来源由詹金斯的工作检查。 有没有办法获取这些信息?
我查看了参数set in system environment by Jenkins,但没有一个给我这份工作使用的完整SCM网址。此外,API(即http://jenkins-server/job/my-job/api/xml
)不包含此信息。
我知道<scm><connection>
中有pom.xml
个标记,但此信息可能不可靠。
感谢。
答案 0 :(得分:1)
这些值由SCM实现设置。要找出构建中实际存在哪些环境变量,可以使用 EnvInject 插件。
对于Subversion,您可以使用环境变量SVN_URL
(如果它只是一个网址),或SVN_URL_n
,n
是一个数字(如果它是多个网址),如上所述{{ 3}}
您还可以使用 Groovy 插件中的 System Groovy 构建步骤直接访问Jenkins对象树,例如将此信息写入文件。请注意,访问内部容易导致更新中断,如果您不小心,则容易破坏Jenkins。