如何使用 Jenkins 部署多个 SpringBoot 环境?
Posted
技术标签:
【中文标题】如何使用 Jenkins 部署多个 SpringBoot 环境?【英文标题】:How to deploy multiple SpringBoot environments with Jenkins? 【发布时间】:2016-10-24 09:31:33 【问题描述】:在this question 之后,我创建了我的 Jenkins 构建,我使用它从带有 gradle 的 spring boot 启动 tomcat 服务器。
我想要实现的是为不同的环境(例如生产、用户验收测试、开发)提供不同的构建。为此,我正在创建多个 jenkins 构建:一个用于开发,一个用于 uat,用于此示例。正在从项目中创建一个 war 文件,然后我运行以下命令来启动新服务器:echo "fuser -k 8090/tcp ; java -jar '/var/lib/jenkins/jobs/VCrawl UAT Build/workspace/build/libs/vcrawl-0.0.1-SNAPSHOT.war' --spring.profiles.active=uat" | at now
问题是当一个构建完成并且shell正在执行这个命令时,另一个服务器会停止以启动这个。我的直觉是 Jenkins 只能使用一个 shell 终端,因此当我运行一个时,另一个 shell 将停止运行,从而停止另一台服务器。
如果我从运行 Jenkins 的机器上启动服务器没有问题,两台服务器都可以工作。
另外,我想指定环境在单独的端口上运行,使用单独的数据库等等。
如何从 Jenkins 创建两个同时运行的 tomcat 服务器?
【问题讨论】:
【参考方案1】:如果你将spring boot war-file作为服务运行,命令执行时不会被杀死。
看看here
【讨论】:
以上是关于如何使用 Jenkins 部署多个 SpringBoot 环境?的主要内容,如果未能解决你的问题,请参考以下文章