我可以为Jenkins传递scm参数的值吗?
在我的pom.xml中,我将值设置为默认值:
<scm>
<connection> scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/ </ connection>
<developerConnection>scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/</developerConnection>
</ scm>
问题是当我与另一个分支运行并希望由jenkins运行发布时(在发布过程中,它生成项目的标记)它总是会获得在pom中定义的值。
我会在Jenkins的特定参数中传递一条新路径,该路径会自动在scm pom项目中设置。
我通过在参数化建筑物中设置字符串参数进行了一些测试,但是他没有识别给定的参数和构造中的错误。
另一种方式是通过“发布目标和选项”:
-X -Dresume=false release:clean release:prepare release:perform \
-DscmConnection="scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B"-DscmDeveloperConnection = "scm: svn: https :/ / 172.10.10.30/svn/repPortal/branches/2012/Branch_B "scm: validate
错误仍然存在......
Caused by: org.apache.maven.shared.release.ReleaseFailureException:
Missing required setting: scm connection or developerConnection must be specified.
有没有办法做到这一点,我可以告诉詹金斯?
答案 0 :(得分:1)
我注意到为SCM连接定义的属性不正确。在命令行上设置SCM连接的属性是-Dproject.scm.connection
,开发人员连接是-Dproject.scm.developerConnection
。
答案 1 :(得分:1)
根据MRELEASE-707,属性connection
和developerConnection
是只读的,无法直接设置。您必须为网址定义自己的属性并将其用作占位符(请参阅:How to override maven property in command line?)。