我找不到任何示例或文章来说明当我们使用 Spring Boot + Jenkins 时,持续交付管道会是什么样子。
在 Java EE 中我通常这样做:
- 将更改推送到存储库
- Jenkins 每 5 分钟检查一次更改
- 如果有变化,Jenkins 会提取源代码并运行 Maven 构建
- 使用 Wildfly Maven 插件我在服务器上运行重新部署
一般来说,当我使用 Spring Boot 时,我想知道最后一点要做什么。应用程序被打包到单个 JAR 中并在单独的进程中运行,因此在 Spring Boot 中实际上不存在重新部署之类的事情。我是否必须编写一些脚本来首先终止旧进程,然后运行新工件?或者也许有类似“spring boot cli”的东西,我可以在其中管理所有正在运行的 spring boot 应用程序?
您需要终止旧进程并将新进程作为服务运行。
这一切都在这里得到了很好的解释Spring Boot 应用程序即服务 https://stackoverflow.com/questions/21503883/spring-boot-application-as-a-service.
我们使用 jenkins 有一个很好的 ssh 插件:https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
- 将jar复制到服务器
- 停止旧服务
- 运行新服务
编辑:添加了用于将 Spring Boot 作为服务运行的 Spring Boot 参考 -http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html@Vaelyr
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)