我最近开始使用jenkins来持续整合我的项目。它构建一个WAR文件(使用Maven)和一个Android应用程序(使用Ant)。我还希望将每晚构建WAR的部署自动部署到我的Tomcat测试服务器上,并将我的Android应用程序部署到Web服务器,以便可以通过无线方式进行安装。一种方法是为此版本分发添加一个ant构建目标,并让Jenkins调用此ant taget。
我的问题是,是否适当使用Jenkins,或者我是否应该为此发行版分发一个单独的进程(例如调用ant目标的cron作业)?
答案 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
的指南