溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

作用通過Jenkins定期清理為None的鏡像

發(fā)布時間:2021-02-07 10:32:38 來源:億速云 閱讀:177 作者:小新 欄目:服務(wù)器

這篇文章主要介紹了作用通過Jenkins定期清理為None的鏡像,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、手動方式清理

比較簡便的清理方式,適合有單個none鏡像產(chǎn)生時手動執(zhí)行命令清理鏡像,執(zhí)行如下命令:

docker rmi $(docker images -f "dangling=true" -q)

由于我本地已經(jīng)沒有了none的鏡像,因此執(zhí)行就只能看到如下效果 

作用通過Jenkins定期清理為None的鏡像 

二、項目生產(chǎn)結(jié)束后清理

在Jenkins中建立一個滿足CI的項目時,生產(chǎn)過程完畢結(jié)束后清理可以在構(gòu)建執(zhí)行腳本內(nèi)設(shè)置,如:

作用通過Jenkins定期清理為None的鏡像

其中的腳本為:

echo ---------------Clear-Images...------------------
clearImagesList=$(docker images -f "dangling=true" -q)
if [ ! -n "$clearImagesList" ]; then
echo "no images need clean up."
else
docker rmi $(docker images -f "dangling=true" -q)
echo "clear success."
fi

當(dāng)項目構(gòu)建完畢后,執(zhí)行這個,將本身構(gòu)建過程中生成的None鏡像清楚,做到自己清除自己的中間產(chǎn)物。

但是有一個嚴(yán)重問題會產(chǎn)生,當(dāng)兩個或多個項目在同時構(gòu)建時,先構(gòu)建完畢后執(zhí)行清除的腳本將會影響正在構(gòu)建過程中的項目,刪除正在構(gòu)建過程中所產(chǎn)生的none,但是刪除失敗進而引發(fā)錯誤,導(dǎo)致先構(gòu)建的項目構(gòu)建失敗,在多個項目的情況下不推薦這種方式,如果在Jenkins中只有單個任務(wù)在跑,那沒得問題。

三、定時任務(wù)清理

比較喜歡這種方式,新建一個Jenkins定時任務(wù),比如我設(shè)置為晚上十二點清理為none的鏡像,步驟如下:

1、Jenkins中新建一個項目,名字隨意,如我的為ClearImage。

2、構(gòu)建觸發(fā)器,選擇Poll SCM,設(shè)置定時時間,如我設(shè)置的是凌晨時分清理,也可設(shè)置其他時間,具體設(shè)置規(guī)則參見右邊問號。

作用通過Jenkins定期清理為None的鏡像  

3、執(zhí)行構(gòu)建腳本,腳本內(nèi)容在之前已經(jīng)給出,保存完畢即可,

作用通過Jenkins定期清理為None的鏡像  

手動執(zhí)行立即構(gòu)建,驗證是否有效:

查看控制臺輸出:

作用通過Jenkins定期清理為None的鏡像  

輸出完畢:構(gòu)建有效。

  作用通過Jenkins定期清理為None的鏡像

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“作用通過Jenkins定期清理為None的鏡像”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI