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 專案

查看


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294331.html
標籤:其他
上一篇:Jenkins介紹
