我应该使用Jenkins CI服务器将WAR文件部署到Tomcat吗?

时间:2011-10-16 11:12:08

标签: continuous-integration jenkins

我最近开始使用jenkins来持续整合我的项目。它构建一个WAR文件(使用Maven)和一个Android应用程序(使用Ant)。我还希望将每晚构建WAR的部署自动部署到我的Tomcat测试服务器上,并将我的Android应用程序部署到Web服务器,以便可以通过无线方式进行安装。一种方法是为此版本分发添加一个ant构建目标,并让Jenkins调用此ant taget。

我的问题是,是否适当使用Jenkins,或者我是否应该为此发行版分发一个单独的进程(例如调用ant目标的cron作业)?

3 个答案:

答案 0 :(得分:2)

这篇文章是关于从像Jenkins这样的CI服务器运行部署的好建议:

http://decodify.blogspot.com/2010/10/how-to-build-one-click-deployment-job.html

答案 1 :(得分:1)

如果您有一个ant目标能够将您的.war文件发布到Tomcat以及您的Android应用程序已经发布到您的Web服务器,您可以在Jenkins中创建一个(或两个)作业来执行这些任务,然后使用Jenkins中的“定期构建”选项仅在指定时间构建这些作业。

“定期构建”框使用cron - 样式时间定义。

# min hour day-of-month month day-of-week
# Some examples:
# Run this job at 4 am daily
0 4 * * *

# Run this job at midnight daily
@midnight

# Run this job every Sunday at 3pm
0 15 * * 0
# or (Note: Sunday == day-of-week 0 and 7)
0 15 * * 7

有关更合适的cron示例,请查看this example

答案 2 :(得分:1)

你应该明确地使用Jenkins。有一个deploy-plugin适用于Tomcat和其他服务器。配置是一种构建后操作,它会将war文件部署到特定的Tomcat实例。如果所有测试都已通过,您可以选择仅重新部署Web应用程序。

我在这里写了一篇关于http://macgyverdev.blogspot.se/2014/02/how-to-make-jenkins-install-packaged.html

的指南