首页 文章

Jenkins maven-release-plugin

提问于
浏览
3

在Jenkins(最新),Maven 3.0.x中,我有一个项目(Java源代码) .

我'm using M2 release plugin, which provides a nice 901905 button on the Jenkins job (left hand side pane on the Jenkins job'的仪表板) . 在场景背后/在Jenkins工作的配置中,它调用: release:prepare release:perform 目标 .

当我点击“执行Maven发布”时,它成功完成了工作(从1.0.0-SNAPSHOT构建,如果成功则运行测试&&,对pom.xml进行更改并将版本作为1.0.0作为版本ID,执行更多验证并对pom.xml进行更改(maven-release-plugin检查等),在版本控制中提交此更改,在版本控制中将其标记为1.0.0作为“TAG”,再次将pom.xml更改为使用1.0.1-SNAPSHOT并提交它,然后从我们刚刚创建的标记的1.0.0发布版本标签中签出,在/ target / checkout文件夹下签出,构建relase 1.0.0工件(jar / war / pom等)和最后将它部署到你在里面提到的存储库......部分 .

<distributionManagement>
   <repository>
     <id>dev-artifactory</id>
         <url>http://1.2.3.15:8081/artifactory/libs-release-local/</url>
   </repository>
   <snapshotRepository>
     <id>dev-artifactory</id>
         <url>http://1.2.3.15:8081/artifactory/libs-snapshot-local/</url>
   </snapshotRepository>
  </distributionManagement>

What I need is:

1)如果上面的过程生成x.x.x发布工件并运行一些集成测试,我怎样才能使“执行Maven发布”过程调用部署到服务器 . 这应该在将工件部署到二进制存储库(Artifactory / Nexus)之前由maven-release-plugin进程执行 . 即如果您将工件放在发布存储库中,那么非单元测试也是成功的(并非工件位于库中的发布 - 本地存储库中,并且尚未启动集成测试 .

或者我需要更改...以使用libs-snapshot-local(Artifactory存储库)然后运行IT测试,最后如果这些测试成功,将1.0.0版本工件从libs-stage-local存储库移动到libs-release - 本地存储库 .

我知道我可以在maven的用户的.m2 / settings.xml(用户全局)或M2_HOME / .m2 / settings.xml(全局)中放置maven-release-plugin相关设置,但此时,这不是问题 .

2 回答

相关问题