我想要 Build 一个詹金斯管道 . 第一阶段完成,代码编译,测试,检查并部署到Nexus .
我现在想在管道上进行第二阶段,从Nexus检查战争并部署在tomcat上 .
实际上我已经集成了maven-tomcat插件来部署在Tomcat上 . 我的问题是如何查看战争的最新版本?
有没有maven或jenkins插件?
非常感谢,
帕特里克
理想情况下,您的二进制存储库管理器(Nexus)应占据整体架构中的以下位置:
您可以使用Jenkins作为您的配置工具,但理想情况下它应该启动某种过程,从而直接从Nexus部署工件(如果没有其他更有效的话) .
这比听起来容易得多 . 例如,可以从shell脚本调用Nexus REST API以下载任何所需的工件修订版 . 例如:
$CATALINA_HOME/bin/shutdown.sh curl -o $CATALINA_HOME/webapps/myfile.war http://myrepo.com/service/local/artifact/maven/redirect?r=releases&g=com.myorg&a=myfile&v=1.1.1&e=war $CATALINA_HOME/bin/startup.sh
最后,您可能希望考虑使用专用系统来管理部署?我一直在玩的一个有趣的解决方案是rundeck,它有一个Jenkins的插件 . 我真的很喜欢rundeck,因为它简单易与Jenkins分享 . 还有一个用于Nexus的plugin,它使rundeck能够提供符合部署条件的artfacts下拉列表 .
请参阅https://github.com/cescoffier/puppet-nexus/tree/master/files上的download-artifact-from-nexus.sh脚本
在我的情况下,我修改它使用wget而不是curl . 出于某种原因,卷曲对我不起作用 .
我建议你为此创建一个新的pom . 这样你就不会受到詹金斯的束缚了 . 您无需从nexus明确检出工件(请注意,这称为maven语音库中的下载) . 您可以在tomcat maven插件中指定不同的war文件位置 . 见documentation . 要从存储库下载最新版本,请参阅answers to this question.
3 回答
理想情况下,您的二进制存储库管理器(Nexus)应占据整体架构中的以下位置:
您可以使用Jenkins作为您的配置工具,但理想情况下它应该启动某种过程,从而直接从Nexus部署工件(如果没有其他更有效的话) .
这比听起来容易得多 . 例如,可以从shell脚本调用Nexus REST API以下载任何所需的工件修订版 . 例如:
最后,您可能希望考虑使用专用系统来管理部署?我一直在玩的一个有趣的解决方案是rundeck,它有一个Jenkins的插件 . 我真的很喜欢rundeck,因为它简单易与Jenkins分享 . 还有一个用于Nexus的plugin,它使rundeck能够提供符合部署条件的artfacts下拉列表 .
请参阅https://github.com/cescoffier/puppet-nexus/tree/master/files上的download-artifact-from-nexus.sh脚本
在我的情况下,我修改它使用wget而不是curl . 出于某种原因,卷曲对我不起作用 .
我建议你为此创建一个新的pom . 这样你就不会受到詹金斯的束缚了 . 您无需从nexus明确检出工件(请注意,这称为maven语音库中的下载) . 您可以在tomcat maven插件中指定不同的war文件位置 . 见documentation . 要从存储库下载最新版本,请参阅answers to this question.