Jenkins构建和部署

时间:2017-03-20 21:02:04

标签: java jenkins deployment

我正在学习詹金斯。有人能告诉我,我的理解是否正确?

构建应用程序:

  • 我提交了我的代码并将我的分支推送到我的远程存储库。
  • Jenkins看到我的提交并触发了一个构建(可能使用maven安装)。
  • Jenkins运行所有测试,如果全部通过,则会创建一个war / ear。这件艺术品被推到了nexus。

部署到环境:

  • 我的分支中的部署脚本包含将应用程序部署到Tomcat的步骤。 Jenkins去Nexus,检索最新的人工制品(上面构建),并将此应用程序部署到Tomcat。
  • 部署文件中的其他步骤会根据需要关闭并重新启动Tomcat,可能会进行测试以确保应用程序已启动并准备好为请求提供服务。

我是否正确地说部署不需要构建最新的人工制品,它使用最后一个推送到Nexus,或者是每次部署时都是新建的?

1 个答案:

答案 0 :(得分:1)

这完全取决于你如何在Jenkins和/或git上设置你的构建。

Jenkins可以配置为监视您的存储库(简称repo),并在检测到更改时启动构建。

Jenkins可以配置为运行构建。您提供Maven命令行参数;詹金斯只是协调你给它的命令。

您提供的一些Jenkins步骤将是shell代码。这是您运行自定义shell脚本的方式,比如访问Nexus。事情本身不会发生;如果你告诉Jenkins部署一个工件,比如说使用Maven,那么Jenkins会按你所说的那样调用部署命令。

对于应用程序部署来说,开始,重新启动或关闭服务器(Tomcat)的责任是非常不正常的。当然,这可以通过Jenkins完成,但它的应用级别应该高于应用部署应该具有的“薪级等级”。把事情简单化;如果您的Jenkins构建版正在管理用于测试和部署的应用程序,请将其重点放在应用程序而不是服务器上。

詹金斯很神奇,但它并不是读者。除非你告诉它,它不会做你说的任何事情。也就是说,您概述的过程是合理的,无论您使用什么工具来制定它。如果你相应地设置它,Jenkins当然可以做那些事情。