GitLab + Jenkins 日常操作
- 一、Jenkins 回滚操作
- 1.通过 Git 来回滚
- 2.通过 Build 来回滚
- 二、Jenkins 实现邮件报警
- 1.配置邮件报警
- 3.配置项目
- 三、Jenkins 远程管理方式
- 1.通过 SSH Plugin 插件
- 2.通过 Shell 命令
- 3.通过 Ansible
一、Jenkins 回滚操作
- 注意:Jenkins 上需要安装
Gogs
插件。
1.通过 Git 来回滚
Gogs Webhook
构建
case $Status in
Rollback)
echo "这是一个回退操作..."
echo "版本号为:$Version"
git reset --hard $Version
echo "回退完成"
;;
*)
exit
esac
scp /var/lib/jenkins/workspace/web/index.html root@192.168.1.3:/var/www/html/
Build with Parameters
查看
现在我们将 GitLab 远程仓库中的 index.html
进行修改,再次进行发布
回退
查看
2.通过 Build 来回滚
通过发布时备份,回滚时选定备份文件进行回滚
case $Status in
Deploy)
echo "发布前进行打包备份..."
echo "Status:$Status"
Path="${WORKSPACE}/bak"
if [ -d $Path ]
then
echo "This Directory Already Exists"
else
mkdir -p $Path
fi
cd ${WORKSPACE}
tar czf bak/${JOB_NAME}-${BUILD_NUMBER}.tar.gz * --exclude=bak
find $Path -mtime 1 -name "*.tar.gz" -exec rm -rf {} \;
scp ${WORKSPACE}/index.html root@192.168.1.3:/var/www/html/
echo "Deploy Success"
;;
Rollback)
cd ${WORKSPACE}/bak
tar xf ${JOB_NAME}-${Version}.tar.gz
scp ${WORKSPACE}/bak/index.html root@192.168.1.3:/var/www/html/
;;
*)
exit
;;
esac
Build with Parameters
查看
现在我们将 GitLab 远程仓库中的 index.html
进行修改,再次进行发布
回退
查看
二、Jenkins 实现邮件报警
1.配置邮件报警
Dashboard ——>
Manage Jenkins ——>
Configure System
查看
3.配置项目
当 Build 失败时,查看邮箱
三、Jenkins 远程管理方式
1.通过 SSH Plugin 插件
- 注意:需要安装
SSH
插件
添加凭据
配置项目
- 注意:使用 SSH 插件配置时,Command 命令会在指定的 SSH 主机上运行。
2.通过 Shell 命令
- 注意:当使用 SSH 来进行管理时,需要将 Jenkins 上的公钥部署到被管理端上。
3.通过 Ansible
[root@Jenkins ~]# yum -y install ansible
[root@Jenkins ~]# cat <<END > /etc/ansible/hosts
[Client]
192.168.1.3
END
[root@Jenkins ~]# ansible Client -m ping
新建一个 Playbook 用于验证
[root@Jenkins ~]# mkdir -p /data/Ansible-playbook
[root@Jenkins ~]# vim /data/Ansible-playbook/jenkins-mkdir.yaml
---
- hosts: Client
gather_facts: no
tasks:
- name: 创建 Test 目录
file: path=/data/Test state=directory
在 Jenkins 上安装 Ansible 插件
配置 Jenkins 项目
查看