1、jenkins服務器和各節點服務器之間,要配置基于密鑰的登錄 (本實例基于www用戶)
(省略)
2、創建相應的目錄,并授權屬主屬組為www用戶
/deploy/tmp 臨時目錄
/deploy/tar 存放打包后的目錄
/opt/wwwroot 遠程服務器目錄
/web/ 網站目錄
3、配置jenkins



構建成功后,創建一個tag,并傳送到git服務器上

4、編寫Deploy和回滾腳本
[www@jenkins scripts]$ cat Deploy1.sh
#!/bin/bash
SrcDir="/var/lib/jenkins/workspace/test_yyg"
DeployCode="/deploy/tmp"
DstDir="/opt/wwwroot"
WebSite="/web/"
PRONAME="test_yyg"
if [ $# == 1 ];then
Ver_NUM=$(echo $1)
cd $SrcDir
if [ ${Ver_NUM} == 'latest' ];then
#版本回退到上一個版本
git reset --hard HEAD^
COMMITID="$(git rev-parse --short HEAD)"
ssh www@10.2.11.245 "rm -rf /web/${PRONAME} && ln -s /opt/wwwroot/${PRONAME}-${COMMITID} /web/${PRONAME}"
else
#版本回退到任意版本,請輸入版本COMMITID
git reset --hard ${Ver_NUM}
ssh www@10.2.11.245 "rm -rf /web/${PRONAME} && ln -s /opt/wwwroot/${PRONAME}-${Ver_NUM} /web/${PRONAME}"
fi
else
cd $SrcDir && git pull
COMMITID="$(git rev-parse --short HEAD)"
#把版本庫里獲取的代碼,拷貝一份到部署目錄里,并且重命名這個項目(按照項目名-commitID號),并且把不要的目錄刪除掉,比如.git
PKGNAME="${PRONAME}-${COMMITID}"
cp -rf ${SrcDir} ${DeployCode}/ && cd ${DeployCode} && mv ${PRONAME} ${PKGNAME}
cd ${DeployCode}/${PKGNAME} && rm -rf .git
cd ${DeployCode} && tar zcf ${PKGNAME}.tar.gz ${PKGNAME}
#通過scp命令,把對應的目錄拷貝到遠程計算機中
scp -r ${DeployCode}/${PKGNAME}.tar.gz www@10.2.11.245:${DstDir}/
ssh www@10.2.11.245 "cd ${DstDir} && tar xf ${PKGNAME}.tar.gz"
#通過ssh遠程連接到10.2.11.245服務器,創建軟連接
ssh www@10.2.11.245 "rm -rf /web/${PRONAME} && ln -s /opt/wwwroot/${PKGNAME} /web/${PRONAME}"
fi
- 第一章:Jenkins的基本介紹
- 第二章:Jenkins服務器安裝
- 第一節:在Centos6.8系統上安裝Jenkins服務器
- 第三章:Jenkins服務器配置
- 第一節:jenkins更換初始登錄密碼
- 第二節:全局工具配置
- 第三節:安裝插件
- 第四節:jenkins中配置git
- 第五節:jenkins中配置Publish Over SSH
- 第六節:jenkins郵件配置
- 第七節:Jenkins進階-獲取git tags代碼
- 第八節:Jenkins權限配置錯誤,導致無法登錄
- 第九節: jenkins通過釘釘發送消息
- 第四章:使用 Sonar 進行代碼質量管理
- 第一節:sonar概述
- 第二節:Sonar的安裝
- 第三節:sonar安裝插件
- 第四節:sonar報錯
- 第五節:代碼分析
- 第五章: 持續集成
- 第一節:GitLab觸發jenkins構建項目
- 第六章:jenkins 2.0 pipeline 從入門到精通
- 第一節:jenkins2 hello pipeline
- 第二節:jenkins pipeline基本概念
- 第七章:jenkins部署實戰
- 第一節:jenkins部署php代碼(一)
- 第二節:jenkins部署java代碼(一)
- 第三節:jenkins部署java代碼(pom.xml)二
- 第四節:jenkins部署php代碼(根據tags)
- 第五節:jenkins部署android代碼
- 第八章:jenkins項目構建配置
- 第一節: jenkins參數化構建過程