使用 Docker 進行持續整合
目錄
持續整合 (CI) 是開發流程中,將您的程式碼變更合併至專案主分支的一部分。在這個階段,開發團隊會執行測試和建置,以確認程式碼變更不會導致任何非預期或意料之外的行為。
即使您最終沒有將應用程式封裝為容器映像檔,Docker 在這個開發階段也有多種用途。
將 Docker 作為建置環境
容器是可重現、隔離的環境,能夠產生可預測的結果。在 Docker 容器中建置和測試應用程式,可以更輕鬆地防止非預期的行為發生。使用 Dockerfile,您可以定義建置環境的確切需求,包括程式執行環境、作業系統、二進位檔案等。
使用 Docker 管理您的建置環境也能簡化維護工作。例如,更新到程式執行環境的新版本,只需更改 Dockerfile 中的標籤 (tag) 或摘要 (digest) 即可。無需 SSH 連線到虛擬機器進行手動重新安裝與配置更新。
此外,正如您期望第三方開放原始碼軟體包是安全的一樣,您的建置環境也應具備相同的標準。您可以像對待任何其他容器化應用程式一樣,掃描並索引建置器映像檔。
以下連結提供了關於如何開始使用 Docker 在 CI 中建置應用程式的說明。
Docker in Docker
您也可以使用容器化的建置環境,透過 Docker 來建置容器映像檔。換句話說,您的建置環境在一個容器內執行,而該容器本身就具備執行 Docker 建置的能力。這種方法被稱為「Docker in Docker」。
Docker 提供了一個官方 Docker 映像檔,您可以用於此目的。
接下來
Docker 維護了一套官方的 GitHub Actions,您可以在 GitHub Actions 平台上使用它們來建置、標記並推送容器映像檔。請參閱 GitHub Actions 簡介以了解更多資訊並開始使用。