* * * * *
第一个 * 表示分钟,取值0~59,若其他值不做设定,则表示每个设定的分钟都会构建
第二个 * 表示小时,取值0~23, 若其他值不做设定,则表示每个设定小时的每分钟都会构建
第三个 * 表示一个月的第几天,取值1~31,若其他值不做设定,则表示每个月的那一天每分钟都会构建一次
第四个 * 表示第几月,取值1~12,若其他值不做设定,则表示每年的那个月每分钟都会构建一次
第五个 * 表示一周中的第几天,取值0~7,其中0和7代表的都是周日,若其他值不做设定,则表示每周的那一天几每分钟都会构建一次
由于项目的代码一般存在放SVN/GIT中,而一个SVN/GIT往往是有多个项目组在提交代码,而每个项目组又有多人组成,其中每个人也都在对自己的那块代码不停地在进行维护。
所以说对于一个公司而言,SVN/GIT的提交记录往往是很频繁的,正因为如此,Jenkins在执行自动化构建时往往是以天为单位来执行的,下面举的例子就是在一天中常用的定时构建示例。
H/5 * * * *
H H/2 * * *
0 12 * * *
0 18 * * *
在“配置”->“构建触发器”中,如下图所示:
Build after other projects are built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功、失败、或者不稳定的时候触发项目;
在 构建触发器 中选择“Poll SCM”
输入框为 分,时,日,月,星期, 号代表不限制,我设置的是每天早8点自动部署*。
- / 5 * * * * (每5分钟检查一次源码变化)
H 2 * * * (每天2:00 必须build一次源码)
0 * * * *
所以 0 * * * * 表示的就是每个小时的第 0 分钟执行构建。
H(0-29)/10 * * * *
45 9-16/2 * * 1-5
H H(9-16)/2 * * 1-5
H H 1,15 1-11 *
30 19 * * 4
0 8 * * *
H 8,12,18 * * 6,7
H 8-23 * * 1-5
H 8-23/2 * * 1-5
H/30 8-23 * * 1-5
通过jenkins发布项目时,可能需要合并分支,如:发布测试环境的时候需要把dev分支合并到test分支,此时就可以用jenkins自动实现。
#! /bin/bash
tomcat_home=/usr/local/tomcat-8
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh
echo "关闭$tomcat_home"
$SHUTDOWN
#杀死tomcat进程
ps -ef | grep $path | grep java | awk '{print $2}' | xargs kill -9
#删除日志文件,如果你不先删除可以不要下面一行
rm $tomcat_home/logs/* -rf
#删除tomcat的临时目录
rm $tomcat_home/work/* -rf
sleep 5
echo "启动$tomcat_home"
$STARTTOMCAT
#看启动日志
#tail -f $tomcat_home/logs/catalina.out