Spring Boot和Continuous Delivery简单的管道

swc*_*wch 9 spring jenkins spring-boot

我找不到任何示例或文章,当我们使用Spring Boot + Jenkins时,连续交付管道是怎样的.

在Java EE中,我通常这样做:

  • 将更改推送到存储库
  • 詹金斯每5分钟检查一次更改
  • 如果有变化,Jenkins会拉动源并运行maven build
  • 使用wildfly maven插件我在服务器上运行redeploy

一般来说,当我使用Spring Boot时,我想知道在最后一点该做什么.应用程序打包到单个JAR中并在单独的进程中运行,因此在Spring Boot中实际上没有像重新部署那样的东西.我是否必须首先编写一些脚本来杀死旧进程,然后运行新工件?或者也许有类似"spring boot cli"的东西,我可以管理所有正在运行的spring boot应用程序?

Sea*_*uit 9

您需要终止旧进程并将新进程作为服务运行.在这里,Spring Boot应用程序作为服务进行了很好的解释.

我们使用的jenkins有一个很好的ssh插件:https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin

  1. 将jar复制到服务器
  2. 停止旧服务
  3. 运行新服务

编辑:添加Spring启动参考以运行Spring启动作为服务 - http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html @Vaelyr

  • 也链接到官方文件.我个人使用它作为init.d服务,运行良好:http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html (2认同)