使用 Docker 進行持續整合

持續整合 (CI) 是開發過程的一部分,旨在將程式碼更改與專案主分支合併。在此階段,開發團隊執行測試和構建,以驗證程式碼更改不會導致任何不需要或意外的行為。

Git branches about to get merged

在此開發階段,Docker 有多種用途,即使您最終不會將應用程式打包為容器映象。

Docker 作為構建環境

容器是可重現、隔離的環境,可產生可預測的結果。在 Docker 容器中構建和測試您的應用程式,可以更輕鬆地防止意外行為的發生。使用 Dockerfile,您可以定義構建環境的確切要求,包括程式設計執行時、作業系統、二進位制檔案等。

使用 Docker 管理您的構建環境還可以簡化維護。例如,更新到新版本的程式設計執行時,只需更改 Dockerfile 中的標籤或摘要即可。無需 SSH 到虛擬機器中手動重新安裝新版本並更新相關配置檔案。

此外,正如您期望第三方開源軟體包是安全的,您的構建環境也應該如此。您可以掃描和索引構建器映象,就像對待任何其他容器化應用程式一樣。

以下連結提供瞭如何開始使用 Docker 在 CI 中構建應用程式的說明

Docker 中的 Docker

您還可以使用 Dockerized 構建環境,透過 Docker 構建容器映象。也就是說,您的構建環境在容器內部執行,該容器本身已配備執行 Docker 構建的功能。此方法稱為“Docker in Docker”。

Docker 提供了一個官方 Docker 映象,您可以用於此目的。

接下來做什麼

Docker 維護了一套官方的 GitHub Actions,您可以使用它們在 GitHub Actions 平臺上構建、標註和推送容器映象。請參閱GitHub Actions 簡介以瞭解更多資訊並開始使用。