Jenkins版本回滾

2022-04-08 15:41:42 字數 2095 閱讀 1754

[參考] 

博主心得:

構建指令碼可以寫入到shell指令碼檔案中,這樣避免多個同型別專案每次都要貼上一次,以便做到統一管理同型別專案構建策略。

另外我也對指令碼進行了一些小調整,備份清理指令碼可以通過引數進行傳遞,以便不同專案針對不同情況設定,無參傳遞則使用預設值:5

# 自動備份部署war包/data/deploy/auto-bak-deploy-war.sh

#!/usr/bin

# 自動備份部署war包

filedir=$/bak/#備份目錄

case $status in

deploy)

echo

"status:$status

"path="

$/$"

#建立每次要備份的目錄

if [ -d $path ];

then

echo

"the files is already exists

"else

mkdir -p $path

fi\cp -f $/target/*

.war $path #將打包好的war包備份到相應目錄,覆蓋已存在的目標

echo "\cp -f $/target/*.war $"

echo "completing!"

;;rollback)

echo "status:$status"

echo "version:$version"

cd $/$version #進入備份目錄

\cp -f *.war $/target/ #將備份拷貝到程式打包目錄中,並覆蓋之前的war包

echo "\cp -f $/$/*.war $/target/"

;;*)

exit

;;esac

echo -e "current bak version list:" $(ls $) "\n\n"

#自動清理過期部署war包
/data/deploy/auto-clear-expire-bak-deploy-war.sh
#!/user/bin

# 自動清理過期部署war包

defaultreservednum=5

# 預設保留檔案數

# 是否有引數傳遞保留檔案數

if [ "

$1" ];then

expr $1 + 0 &>/dev/null

if [ $? == 0 -a $1 > 0 ] ;then

reservednum=$1

#保留檔案數

else

reservednum=$

fielse

reservednum=$fi(

date

"+%y%m%d-%h%m%s")

echo

reservednum: $

filedir=$/bak/#備份目錄

cd $filedir #進入備份目錄

filenum=$(ls -l | grep'^d

' | wc -l) #當前有幾個資料夾,即幾個備份

while(( $filenum >$reservednum))

dooldfile=$(ls -rt | head -1

) #獲取最舊的那個備份檔案夾

echo $date

"delete file:

"$oldfile

rm -rf $filedir/$oldfile

let

"filenum--

"done

echo -e "

current bak version list:

" $(ls $) "

\n\n

"

jenkins構建shell指令碼:

git本地版本回滾與遠端版本回滾

1 檢視git 提交 git log 該命令顯示從最近到最遠的提交日誌。hard選項,表示徹底將工作區 暫存區和版本庫記錄恢復到指定的版本庫 遠端分支版本回退的方法 1.首先要回退本地分支 git reset hard commitid 2 強制推送到遠端分支 git push f origin m...

svn 版本回滾

svn 版本回滾 取消對 的修改分為兩種情況 第一種情況 改動沒有被提交 commit 這種情況下,使用svn revert就能取消之前的修改。svn revert用法如下 svn revert r something 其中something可以是 目錄或檔案的 相對路徑也可以是絕對路徑。當some...

linux svn 版本回滾

實踐經驗總結 1 svn log 檢視當前最新版本和需要回滾到的版本。假設當前最近版本是 r201526 需要回滾到的版本是 r197364 2 如果本地的 和版本r201526一致 無diff 這種情況下 svn merge r 201526 197364 svn ci m roll back t...