当前博客为Jenkins终篇,建议看一次之前介绍的内容。对其会有更加深刻的体验,整个Jenkins知识点非常清晰,每一步都有截图内容,方便大家手动操作
Jenkins入门一(简介,安装,初始化)
Jenkins入门二(配置Maven,Svn)
Jenkins入门三(构建,部署项目)
首先删除Tomcat上部署的Jenkins是因为,我用了其他人给的Jenkins.war包。初始化Jenkins时因为版本原因导致插件安装不成功,后续为了省事直接将之前的额信息全部删除,下载最新的War包重新使用
1. ./shutdown.sh
2. cd webapps
3. rm -rf jenkins
4. rm -rf jenkins.war
5. rm -rf /root/.jenkins/
6. find / -iname jenkins | xargs -n 1000 rm -rf
这一块的内容我在上一篇博客中也有讲述,为了整体的连贯性在这里在粘贴了一份,如果看过这块的内容直接看 钩子程序触发构建即可。
首先进入apple项目的页面,进入配置,选择 构建触发器。勾选触发远程构建。
可以看到Jenkins还提供了定时构建等等的策略
配置结束后,不要忘记点击保存按钮哎
最终的访问路径:http://192.168.20.128:8080/jenkins/job/apple/build?token=zhzhouq
此时就不是我们手动点击构建了,而是通过浏览器访问的url地址触发Jenkins执行构建程序。
Linux 的curl 命令用来发送HTTP 请求。
-X 参数:指定请求方式
-v 参数:显示响应结果
-u 参数:携带用户名/密码
-H 参数:携带请求消息头信息
curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息" http://[服务器IP 地址]:[服务器端口号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌]
# 解析这个命令
curl :固定格式
-X post :post请求方式
-v:显示响应结果
-u:[Jenkins 用户名]:[Jenkins 密码]
-H:[请求头信息]
至于接下来的内容就是我们远程通过浏览器访问触发Jenkins构建的那个地址
而整合起来的这么一串代码,是需要配置在SVN提供的钩子程序文件中的
1. 复制钩子程序
进入SVN服务器上当前项目仓库的位置,进入hooks目录,复制一份post-commit.tmpl 文件,不要携带后缀名:post-commit
2. 授权
chmod 777 post-commit
3. 编辑复制的文件
按照上述的要求先获取 admin的密码值为:2934fc74122141cc98ef7d24a9a9e6d7
命令汇总
# 复制钩子程序
cd /var/svn/workspace/jenkins
cd hooks
cp post-commit.tmpl post-commit
# 获取admin用户密码
cd /root/.jenkins/secrets
vi initialAdminPassword
# 编辑post-commit文件
vim post-commit
# 加入以下内容,随着自己设置的不同值进行一个修改
curl -X post -v -u admin:2934fc74122141cc98ef7d24a9a9e6d7
http://192.168.20.128:8080/jenkins/job/apple/build?token=zhzhouq
进入eclipse,修改文件内容进行提交。会发现此时已经触发了Jenkins进行构建
通过浏览器,访问项目内容:
从tomcat上webapps目录下的war包修改时间也能体现出来
如果Jenkins 服务器从SVN 服务器下载代码不是最新版的情况,(也就是我代码提交之后没有生效,当我再次提交的时候上一次提交的才会生效)遇到这种有时间差,或者代码版本差异的情况下,那么就在SVN服务器的URL 地址后面加上@HEAD 强制要求下载最新版。如图:
进入Jenkins首页,选择我们的apple任务,点击构建触发器,勾选Build periodically
设置定时构建的规则,下图中的意思为 每2分钟执行一次。
常用规则示例:
每隔5分钟构建一次
H/5 * * * *
每两小时构建一次
H H/2 * * *
每天中午12点定时构建一次
H 12 * * *
每天下午18点定时构建一次
H 18 * * *
在每个小时的前半个小时内的每10分钟
H(0-29)/10 * * * *
每两小时45分钟,从上午9:45开始,每天下午3:45结束
45 9-16/2 * * 1-5
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-16)/2 * * 1-5