Jenkins是一个用Java编写的开源的持续集成(CI)工具,可持续、自动地构建/测试软件项目,监控一些定时执行的任务。具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点。
本篇文章介绍如何安装和使用jenkins部署git项目,部署分为三个步骤:
前提:jenkins已搭建完毕,搭建方式网上很多,这里不做阐述
第一步:jdk、maven配置
第二部:配置SSH免密登录
第三部:部署项目
一、Jdk、maven配置
(一)Jdk配置
系统管理-》全局工具配置,配置本地JDK的路径,去掉勾选自动安装。
(二)maven配置
系统管理-》全局工具配置,填写本地maven的路径。
二、配置 SSH免登陆
(一)生成公钥、私钥
输入ssh-keygen-t rsa命令,一直回车,一个矩形图形出现就说明成功,在~/.ssh/下会有私钥idrsa和公钥idrsa.pub。
root和其他用户都可以生成公钥、私钥,使用时注意用户的区别。
(二)关联应用服务器
使用以下命令即可把本机的公钥复制到应用服务器 的~/.ssh/下的authorized_keys文件
ssh-copy-id -i id_rsa.pub 192.168.0.1(应用服务器IP)
(三)测试免密登录
a. 非root账户可能不支持ssh公钥认证(看服务器是否有限制)
b. 传过来的公钥文件权限不够,可以给这个文件授权下 chmod 644 authorized_keys
c. 使用root账户执行ssh-copy-id -i ~/.ssh/idrsa.pub 这个指令的时候如果需要输入密码则要配置sshdconfig
vi /etc/ssh/sshd_config #内容 PermitRootLogin no 修改完后要重启sshd服务,service sshd restart
设置后,再次输入命令,如果免密登录成功说明SSH公钥认证成功。
(四)Git设置免密
Git登录后,点击头像->Settings,点击SSH Keys, 打开刚才生成的id_rsa.pub,把内容添加到key里,Title设置一个名称,点击Add key 完成。
三、配置项目
(一)新建项目
选择maven项目,输入名称testjob,点击确定。
(二)项目配置
1、General
描述:对此job的任务做简要描述。
丢弃旧的构建:勾选,选择是否备份被替换的旧包。我这里选择备份最近的10个。
参数化构建过程:勾选,可以选择不同的参数类型,设置参数化。
举例如下:
在必要的时候并发构建:
勾选:可多次点击并发执行多个任务
不勾选:一次执行执行一个任务,多个任务需要顺序排队
2、源码管理
本文选择的是git,输入仓库url,前面git已经设置免密,所以Credentials 可以不设置,输入分支名称即可。
3、构建触发器
以下选项根据需要进行自定义配置。
触发远程构建:设置令牌后,可以通过url直接调用此job,请求后浏览器不会有反应,后台收到请求开始构建。
例:http://192.168.0.1:8080/job/ testjob/build?token=testjob
其他工程构建后触发:输入其他job的名字testMvn,testMvn执行后,会自动拉起本job
定时构建:设置后,可根据自定义时间自动构建
0 12 * * *:每天中午12点定时构建一次
第一个*表示分钟,取值0~59
第二个*表示小时,取值0~23
第三个*表示一个月的第几天,取值1~31
第四个*表示第几月,取值1~12
第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
4、构建环境
(1)删除工作空间里之前build的内容
(2)输入的日志里增加时间显示
5、Pre Steps
构建前的操作,有则添加,无则略过
可以执行shell/bat命令
6、Build
Maven Version:如果设置了多个版本maven则需要选择,否则会没有此选项
Root POM:默认填写pom.xml
7、Post Steps
构建前的操作,三个选项,根据job执行情况再执行脚本,此文已tomcat为例。
(1)仅在构建成功时运行
(2)只有构建成功或不稳定时才运行
(3)不管生成结果如何运行
本文用到的方式时scp+虚拟终端直接操作应用服务器,还有其他方式,这里不再阐述。
下面是xxx.sh的内容 ,其中用到的ServerIP,前面已参数化:
四、构建项目
到此项目已配置完毕,可直接进行构建。
点击Build with Parameters进入到此页面。
ServerIP:可以输入任意需要需要部署的服务器(要做免密、xxx.sh要存在)
点击开始构建,执行完毕后,左下角会显示执行记录和状态,点击进去可查看日志。
作者:尹本伟
版权申明:本文为公众号原创,如需转载,请在公众号后台留言。