繁体   English   中英

在远程服务器上部署Spring Boot Application

[英]Spring Boot Application deployment on remote server

我有一个Java Spring Boot应用程序,并使用Maven进行构建。 使用spring-boot-maven-plugin

我可以创建胖的可执行jar文件。
然后,将其复制到远程服务器并运行。 但是有时,

我在代码中只更改了一行或仅更改了一个单词,所以我不得不再次执行整个构建/复制步骤。 我确定我做错了,但是我找不到其他更有效的方法(就像Rails中的capistrano)。

在这一点上,我计划将源代码克隆到服务器,从本地推送,从远程提取,构建并运行方法。 进行此部署的正确(或优雅)方法是什么?

对于自动构建和部署过程(持续集成),可以使用Jenkins 有关更多详细信息,请参阅此文档: https : //jenkins.io/doc/

我会说这取决于您要在哪里尝试。

最好的和最灵活的方式来做到这一点对一个受控环境肯定是一个CI-CD(持续集成和持续部署)管道,这符合-构建-测试-部署你的代码对每一个提交到源代码所做的,但它可能太慢而无法在开发环境中使用CI-CD,在开发环境中您希望有一个较短的反馈周期和较快的反馈以查看代码的进展情况。

但是, 如果你正在谈论的开发环境 ,我会打另一个和弦问你为什么要部署到外部服务器同时发展。 当您使用Spring Boot来帮助您开发一个独立的应用程序时,可以免费获得其中嵌入的Tomcat Server。 这使您可以选择在您开发的任何地方运行代码,并进行测试以继续前进。

一个简单的Maven目标mvn spring-boot:run可以使代码在您喜欢的任何地方运行。

Spring-Boot中还有另一个神奇的库,称为Devtools ,旨在支持敏捷开发人员。 该库一旦进入应用程序类路径,就会执行字节码的热交换,以在保存更改后立即将代码自动重载到正在运行的应用程序( 使用嵌入式Tomcat在本地运行 )中。 这是开发人员可以拥有的最酷的小工具之一。

使用Spring-Loaded (对于非Spring-boot应用程序,则使用JRebel )库还可以帮助开发人员进行字节代码的热交换,以便在保存应用程序后尽快将更改加载。

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM