首页 文章

Jenkins:如何检查来自Nexus的神器和Tomcat上的Deploy-

提问于
浏览
13

我想要 Build 一个詹金斯管道 . 第一阶段完成,代码编译,测试,检查并部署到Nexus .

我现在想在管道上进行第二阶段,从Nexus检查战争并部署在tomcat上 .

实际上我已经集成了maven-tomcat插件来部署在Tomcat上 . 我的问题是如何查看战争的最新版本?

有没有maven或jenkins插件?

非常感谢,

帕特里克

3 回答

  • 0

    理想情况下,您的二进制存储库管理器(Nexus)应占据整体架构中的以下位置:

    enter image description here

    您可以使用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下拉列表 .

  • 16

    请参阅https://github.com/cescoffier/puppet-nexus/tree/master/files上的download-artifact-from-nexus.sh脚本

    在我的情况下,我修改它使用wget而不是curl . 出于某种原因,卷曲对我不起作用 .

  • 2

    我建议你为此创建一个新的pom . 这样你就不会受到詹金斯的束缚了 . 您无需从nexus明确检出工件(请注意,这称为maven语音库中的下载) . 您可以在tomcat maven插件中指定不同的war文件位置 . 见documentation . 要从存储库下载最新版本,请参阅answers to this question.

相关问题