軟體開發過程中,開發成員經常需要把自己工作內建到項目中,通常每個成員每天至少內建一次。如果項目較小,對外部的依賴較小,那麼軟體內建可能不會是什麼問題。但是目前很多軟體項目特别是網際網路項目面臨着需求不明确,系統架構複雜,任務配置設定混亂等一系列問題,進而給持續內建帶來許多麻煩。也給整個項目帶來不必要的風險。持續內建作為靈活開發重要的一步,其目的在于讓産品快速疊代的同時,盡可能保持高品質。每一次代碼更新,都要通過自動化測試來檢測代碼和功能的正确性,隻有通過自動測試的代碼才能進行後續的傳遞和部署。本文主要介紹如何将時下最流行的持續內建工具之一的Jenkins結合阿裡雲容器服務,實作自動測試和鏡像建構推送。
接下來的示範是如何通過阿裡雲容器服務Jenkins實作自動測試和Docker鏡像建構,實作高品質的持續內建。
具體場景:每次代碼送出到GitHub上的nodejs的項目中,阿裡雲容器服務Jenkins都會自動觸發單元測試,測試通過則繼續鏡像建構及推送到目标鏡像倉庫中,最後郵件通知結果。大緻流程如下圖所示:

預發環境、測試環境、生成環境通常需要共享同一套代碼檔案,傳統的存儲方式下,不同業務系統的使用獨立的存儲,需要使用傳輸工具在不同的存儲間傳輸代碼檔案。通過使用檔案存儲NAS,開發、測試、預發環境直接共享一個存儲,避免了資料拷貝的時間。