繁体   English   中英

Jenkins maven-release-plugin

[英]Jenkins maven-release-plugin

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

我正在使用M2发布插件,它在Jenkins作业(Jenkins作业的仪表板上的左侧窗格)上提供了一个很好的“Perform Maven Release”按钮。 在场景背后/ Jenkins作业的配置中,它调用: release:prepare release:执行目标。

当我点击“执行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文件夹下签出,构建相关的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>

我需要的是:

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

或者我需要更改...以使用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相关的设置,但此时,这不是问题。

也许你应该考虑看一下这篇文章: https//pragmaticintegrator.wordpress.com/2014/05/12/running-the-maven-release-plugin-with-jenkins/

使用Jenkins Release插件,您可以自定义发布工作流程,以便在M2发布完成后添加特定步骤。

我们为每个环境(dev,qa,prod)部署了Jenkins。 我们使用Promoted Builds,Copy Artifact和Parameterized Trigger插件在所有环境中移动相同的工件。 要了解它们如何协同工作,请阅读这篇文章( 如何从Jenkins的另一个工作中提升特定的构建号?

根据发布过程,使用Maven Promote插件( http://java.jiderhamn.se/2016/05/04/announcing-maven-promote-plugin/ )来释放已构建的工件,而不是Maven Release插件。并测试了(有很多关于maven release插件的缺点的文章)。 您仍然可以使用Jenkins M2 Release Plugin,但在其配置,发布目标和选项中,请调用mvn release:clean promote:prepare release:prepare 有关详细信息,请访问: https//github.com/mjiderhamn/promote-maven-plugin/issues/2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM