1. 程式人生 > >刪除Jenkins的構建次數(基於Jmeter的Maven專案)

刪除Jenkins的構建次數(基於Jmeter的Maven專案)

開發十年,就只剩下這套架構體系了! >>>   

#!/bin/sh

#set就是當命令以非零狀態退出時,則退出shell。主要作用是,當指令碼執行出現意料之外的情況時,立即退出,避免錯誤被忽略,導致最終結果不正確

set -e  #${JOB_NAME}=$1  ${BUILD_NUMBER}=$2 buidNo=$2

#let 命令是 BASH 中用於計算的工具,用於執行一個或多個表示式,變數計算中不需要加上 $ 來表示變數。如果表示式中包含了空格或其他特殊字元,則必須引起來。語法:let a=5+4

let

buidNo=buidNo-10  

#cd /data/soft/jenkins/jobs/$1/builds/ #這是114機器的路徑

cd /data/jenkins-read/jobs/$1/builds

#rm 使用者可以用rm命令刪除不需要的檔案。該命令的功能為刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除。對於連結檔案,只是斷開了連結,原檔案保持不變。

# -r/R --recursive   同時刪除該目錄下的所有目錄層  # -f      --force    略過不存在的檔案,不顯示任何資訊,強制刪除

rm -fr ${buidNo}

cp -r newBuild ${buidNo}

ln -s newBuild $2  

# maxdepth 指定遍歷搜尋的最大深度

# -mtime+1

#表示檔案修改時間為大於1天的檔案,即距離當前時間2天(48小時)之外的檔案這也能解釋了,為什麼6號22點生成的這個檔案為什麼沒有輸出出來這裡-##time +1 為什麼是48小時以外,而不是24小時以外呢,因為n只能是整數,比1大的下一個整數是2,所以是48小時以外的  #-exec command:command 為其他指令,-exec後面可再接額外的指令來處理搜尋到的結果。

#“rm -rf /”意味著擦除根路徑“/”下掛載的所有內容而無需詢問 #{} 對一串命令在當前shell執行

find ./ -maxdepth 1 -mtime +3 -name "*" -exec rm -rf {} \;

exit 0

 

注意,$1,$2為執行sh命令時,佔位傳輸過來的比如,該指令碼名稱叫ClearJenkinsJob.sh

sh "/data/jenkins-read/workspace/testfiles/libs/ClearJenkinsJob.sh ${env.JOB_NAME} ${env.BU