【发布时间】: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 服务器?
【问题讨论】:
标签: tomcat jenkins gradle spring-boot