国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

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

2024-09-01 13:56:00
字體:
來源:轉載
供稿:網友

前言

在代碼持續交付過程中,依靠Jenkins生產Docker鏡像時,會生成許多的名為None的中間鏡像,這些鏡像在整個項目生產過程完畢后意義不大,還占著空間,需要定期清理,通過手動方式實在是繁瑣,也就有了定期清理。

Jenkins是一個功能強大的應用程序,允許持續集成和持續交付項目,無論用的是什么平臺。這是一個免費的源代碼,可以處理任何類型的構建或持續集成。集成Jenkins可以用于一些測試和部署技術。Jenkins是一種軟件允許持續集成。

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

一、手動方式清理

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

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

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

Jenkins,定期清理,None,鏡像 

二、項目生產結束后清理

在Jenkins中建立一個滿足CI的項目時,生產過程完畢結束后清理可以在構建執行腳本內設置,如:

Jenkins,定期清理,None,鏡像

其中的腳本為:

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

當項目構建完畢后,執行這個,將本身構建過程中生成的None鏡像清楚,做到自己清除自己的中間產物。

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

三、定時任務清理

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

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

2、構建觸發器,選擇Poll SCM,設置定時時間,如我設置的是凌晨時分清理,也可設置其他時間,具體設置規則參見右邊問號。

Jenkins,定期清理,None,鏡像  

3、執行構建腳本,腳本內容在之前已經給出,保存完畢即可,

Jenkins,定期清理,None,鏡像  

手動執行立即構建,驗證是否有效:

查看控制臺輸出:

Jenkins,定期清理,None,鏡像  

輸出完畢:構建有效。

  Jenkins,定期清理,None,鏡像

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰原市| 普宁市| 安阳市| 敦煌市| 大新县| 萍乡市| 常州市| 朝阳县| 舟山市| 江华| 邯郸市| 朝阳县| 临猗县| 朝阳县| 延川县| 余姚市| 白玉县| 晋江市| 天津市| 卢氏县| 堆龙德庆县| 新宁县| 内乡县| 芦山县| 彰化县| 石泉县| 塔河县| 上杭县| 天气| 永和县| 吉林省| 交城县| 丁青县| 江陵县| 长岭县| 蓬溪县| 搜索| 彰化市| 沙田区| 乌拉特中旗| 灌南县|