jenkins类似于Hadson,是一款持续集成工具。使用jenkins完成自动化部署的表现为:当开发人员向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序。搭建该持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻了重复的工作量。
该持续集成环境工作流程如下:
安装及使用jenkins
1. jenkins主体程序安装配置
将jenkins.war放在tomcat解压目录/wabapps目录下(linux系统下),注意要修改配置文件server.xml 中的编码字符集
启动tomcat,按照提示输入管理员密码,自定义jenkins可以选择或者跳过,需要注意的是选择安装插件的话,linux服务器得能联网下载。
配置JDK和Maven并安装Deploy插件
插件安装
2. 创建svn资源库,新建一个项目上传测试
linux资源库目录
项目目录如下
3. 配置任务来集成该项目
配置具体内容
svn资源库用户信息
构建选项
构建后操作,发布到tomcat
配置tomcat信息
构建触发器名称配置
4. 配置完成可立即构建
构建成功可访问项目地址
可通过时间轴查看构建历史
当我们项目发生更改并提交时,再次构建即可看到变化
5. 触发器
当然,实际工作中我们肯定不能每次提交后都要手动构建,jenkins能够准确的检索到并自动构建发布,这需要我们构建触发器。
通过使用触发远程构建,设置构建触发器中的身份验证令牌名称作为一个标识,当访问包含该令牌的地址时会触发一次构建,地址拼接方法如图
浏览器访问:http://47.98.XXX.X51:8080/jenkins/job/testJenk/build?token=TESTJENK_TOKEN ,触发一次构建
可通过使用脚本来设置在代码提交后执行脚本访问特定地址,触发构建,通过curl命令可访问指定地址
Linux的curl命令用来发送HTTP请求
- -X参数:指定请求方式
- -v参数:显示响应结果
- -u参数:携带用户名、密码
- -H参数:携带请求消息头信息
语法:
执行该命令即触发一次构建:
curl -X post -v -u admin:706ba3718b9e4fXXb2c114013189d516 http://47.98.XXX.X51:8080/jenkins/job/testJenk/build?token=TESTJENK_TOKEN
通过编辑svn版本库中的钩子程序来捕捉每一次的提交,实现代码提交之后自动触发构建
编辑过程为将原有内容注释,加入curl命令
这样的当svn有提交时,会自动触发构建。
如果发生jenkins服务器从svn上下载的代码不是最新版的情况,则在svn服务器的URL地址后加上@HEAD来强制下载最新版代码。
6. 搭建Github持续集成环境
需要注意以下几点
在jenkins中指定git程序位置
git中的钩子程序的功能是通过Webhooks来实现的
全局安全配置关闭防止跨站点请求伪造