目录
一、创建项目
1.创建项目
1)创建新任务
2)填写项目名称
3)填写项目备注
4)项目执行过程添加一个命令
5)构建项目
6)查看构建过程
7)查看服务器文件(对应创建了一个文件)
二、jenkins获取git项目
1.到码云网站获去源码
https://gitee.com/lovexzq/XingYunDaZhuanPan?_from=gitee_search
2.把代码导入gitlab
1)创建新项目
2)导入项目
3)复制代码ssh导入
这边仅作为显示,可在码云中找到开源代码,进行代码拉取
4)导入代码
3.jenkins获取项目代码
1)jenkins与gitlab做免密
1.jenkins生成密钥对
[root@jenkins ~]# ssh-keygen
2.将在jenkins中公钥写入gitlab,相当于jenkins能对gitlab进行操作
3.此处仅作为对此项目有可控权限
2)jenkins配置获取git的代码
3)构建拉取代码
4)查看代码拉取到服务器
三、jenkins构建代码推送至web服务器
1.搭建nginx
2.jenkins写脚本推送代码
- 1)jenkins服务器与web服务器做免密
[root@jenkins ~]# ssh-copy-id 172.16.1.7
- 2)测试连接
[root@jenkins jenkins获取git的代码项目]# ssh 172.16.1.7
Last login: Wed Sep 23 23:21:29 2020 from 10.0.0.1
[root@web01 ~]# logout
Connection to 172.16.1.7 closed.
- 3)jenkins配置推送代码脚本
[root@jenkins ~]# mkdir /scripts
[root@jenkins ~]# vim /scripts/code.sh
#!/bin/bash
Web_Ip=10.0.0.7
Old_Code_Dir=/tmp/${JOB_NAME}_$BUILD_NUMBER
ssh root@$Web_Ip "[ -d $Old_Code_Dir ] || mkdir -p $Old_Code_Dir"
ssh root@$Web_Ip "mv /code/* $Old_Code_Dir/"
scp -rp $WORKSPACE/* root@${Web_Ip}:/code/
[root@jenkins ~]# chmod +x /scripts/code.sh
- 4)jenkins页面配置推送
-
5)构建测试
-
6)访问页面测试
3.代码回滚
- 1)配置脚本
# 通过书写脚本方式实现部署和回滚功能,因脚本中case语句有两种选择,所以在后续jenkins构建时同样需要选择两种方式
[root@jenkins ~]# vim /scripts/deploy_rollback.sh
#!/bin/bash
Web_Ip=172.16.1.7
Old_Code_Dir="/tmp/${JOB_NAME}/$BUILD_NUMBER"
case $Status in
Deploy)
echo "Status:$Status"
ssh root@$Web_Ip "[ -d $Old_Code_Dir ] || mkdir -p $Old_Code_Dir"
ssh root@$Web_Ip "mv /code/* $Old_Code_Dir"
scp -rp $WORKSPACE/* root@${Web_Ip}:/code/
echo "Completing!"
;;
Rollback)
echo "Status:$Status"
echo "Version:$Version"
ssh root@$Web_Ip "[ -d $Old_Code_Dir ] || mkdir -p $Old_Code_Dir"
ssh root@$Web_Ip "/usr/bin/cp -a /tmp/${JOB_NAME}/$Version/* /code/"
;;
*)
exit
;;
esac
- 2)jenkins页面配置
- 3)测试代码更新
- 4)测试回滚
四、触发器自动构建
1.配置触发器
2.配置gitlab
3.测试
-
1)测试事件
-
2)出现问题
- 3)解决方式配置jenkins安全
-
4)修改gitlab代码
-
5)页面自动构建
五、返回构建结果
1.设置gitlab获取token
2.jenkins配置token
3.jenkin设置构建后操作
4.测试
-
1)修改代码提交
-
2)查看jekins自动构建
- 3)查看gitlab上面jenkins构建返回的结果