濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何通過Jenkins定期清理為None的鏡像詳解

如何通過Jenkins定期清理為None的鏡像詳解

熱門標(biāo)簽:i智能電話機(jī)器人yeta 400電話申請要什么條件 話術(shù)外呼系統(tǒng) 寧波400電話辦理對企業(yè)的意義 廣東如何申請400電話 西柏坡地圖標(biāo)注 北京人工外呼系統(tǒng)廠家 燃?xì)夤芫€地圖標(biāo)注顏色 哈爾濱400電話去哪辦理

前言

在代碼持續(xù)交付過程中,依靠Jenkins生產(chǎn)Docker鏡像時(shí),會(huì)生成許多的名為None的中間鏡像,這些鏡像在整個(gè)項(xiàng)目生產(chǎn)過程完畢后意義不大,還占著空間,需要定期清理,通過手動(dòng)方式實(shí)在是繁瑣,也就有了定期清理。

Jenkins是一個(gè)功能強(qiáng)大的應(yīng)用程序,允許持續(xù)集成和持續(xù)交付項(xiàng)目,無論用的是什么平臺。這是一個(gè)免費(fèi)的源代碼,可以處理任何類型的構(gòu)建或持續(xù)集成。集成Jenkins可以用于一些測試和部署技術(shù)。Jenkins是一種軟件允許持續(xù)集成。

下面話不多說了,來一起看看詳細(xì)的介紹吧

一、手動(dòng)方式清理

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

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

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

 

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

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

其中的腳本為:

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)項(xiàng)目構(gòu)建完畢后,執(zhí)行這個(gè),將本身構(gòu)建過程中生成的None鏡像清楚,做到自己清除自己的中間產(chǎn)物。

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

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

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

1、Jenkins中新建一個(gè)項(xiàng)目,名字隨意,如我的為ClearImage。

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

  

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

  

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

查看控制臺輸出:

  

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

 

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

標(biāo)簽:襄陽 阜陽 開封 西藏 張家口 湘潭 珠海 巴中

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何通過Jenkins定期清理為None的鏡像詳解》,本文關(guān)鍵詞  如何,通過,Jenkins,定期,清理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何通過Jenkins定期清理為None的鏡像詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何通過Jenkins定期清理為None的鏡像詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    虎林市| 会泽县| 绥江县| 长岭县| 甘谷县| 宜兰县| 富宁县| 阳山县| 绥滨县| 绵阳市| 宣武区| 固镇县| 胶南市| 余庆县| 塘沽区| 枞阳县| 华宁县| 鸡西市| 申扎县| 玛多县| 安岳县| 云浮市| 嘉祥县| 信丰县| 福海县| 孟津县| 柳林县| 安多县| 尼勒克县| 贵德县| 阳原县| 达孜县| 伊宁县| 揭东县| 孝感市| 逊克县| 章丘市| 夏邑县| 连江县| 宁津县| 铜川市|