8

可以给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.xml 中定义的值。

我会在 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.

有没有办法让詹金斯告诉我?

4

2 回答 2

1

我注意到为 SCM 连接定义的属性不正确。在命令行上设置 SCM 连接的属性是-Dproject.scm.connection,开发者连接是-Dproject.scm.developerConnection

于 2012-05-11T23:43:02.767 回答
1

根据MRELEASE-707属性connectiondeveloperConnection是只读的,不能直接设置。您必须为 url 定义自己的属性并将其用作占位符(请参阅:如何在命令行中覆盖 maven 属性?)。

于 2016-05-25T12:26:14.603 回答