Docker Build GitHub Actions

GitHub Actions 是一個熱門的 CI/CD 平台,可用於自動化您的建置、測試和部署流程。Docker 提供一組官方 GitHub Actions 供您在工作流程中使用。這些官方 Actions 是可重複使用且易於使用的元件,可用於建置、註釋和推送映像檔。

下列 GitHub Actions 可用

使用 Docker 的 Actions 提供易於使用的介面,同時仍允許彈性自訂建置參數。

範例

如果您正在尋找有關如何使用 Docker GitHub Actions 的範例,請參閱以下章節

GitHub Actions 快速入門

本教學將引導您完成設定和使用 Docker GitHub Actions 來建置 Docker 映像檔,以及將映像檔推送到 Docker Hub 的過程。您將完成以下步驟

  1. 在 GitHub 上建立新的儲存庫。
  2. 定義 GitHub Actions 工作流程。
  3. 執行工作流程。

要 mengikuti 教學นี้,您需要一個 Docker ID 和一個 GitHub 帳戶。

步驟一:建立儲存庫

建立 GitHub 儲存庫並設定 Docker Hub 憑證。

  1. 使用此範本儲存庫建立一個新的 GitHub 儲存庫。

    該儲存庫包含一個簡單的 Dockerfile,沒有其他內容。如果您願意,可以隨意使用其他包含有效 Dockerfile 的儲存庫。

  2. 打開儲存庫**設定**,然後前往**密鑰和變數** > **Actions**。

  3. 建立一個名為 `DOCKERHUB_USERNAME` 的新**儲存庫變數**,並將您的 Docker ID 作為值。

  4. 為 Docker Hub 建立一個新的個人存取權杖。您可以將此權杖命名為 `clockboxci`。

  5. 將 Docker Hub 存取權杖作為**儲存庫密鑰**新增到您的 GitHub 儲存庫中,名稱為 `DOCKERHUB_TOKEN`。

建立儲存庫並設定憑證後,您現在就可以開始行動了。

步驟二:設定工作流程

設定您的 GitHub Actions 工作流程以建置映像檔並將其推送到 Docker Hub。

  1. 前往 GitHub 上的儲存庫,然後選擇**Actions**索引標籤。

  2. 選擇**自行設定工作流程**。

    這將帶您到一個頁面,您可以在其中於儲存庫中建立新的 GitHub Actions 工作流程檔案,預設位置為 ` .github/workflows/main.yml`。

  3. 在編輯器視窗中,複製並貼上以下 YAML 設定。

    name: ci
    
    on:
      push:
        branches:
          - "main"
    
    jobs:
      build:
        runs-on: ubuntu-latest
    • `name`:此工作流程的名稱。
    • `on.push.branches`:指定此工作流程應在清單中每個分支的每次推送事件上執行。
    • `jobs`:建立作業 ID (`build`) 並宣告作業應在其上執行的機器類型。

有關此處使用的 YAML 語法的更多資訊,請參閱GitHub Actions 的工作流程語法步驟三:定義工作流程步驟

現在是重點:要執行的步驟,以及執行順序。

先前的 YAML 程式碼片段包含一系列步驟,這些步驟將

  1. 使用Docker 登入Docker Setup Buildx建置和推送 Docker 映像檔

執行工作流程

儲存工作流程檔案並執行作業。

  1. 選擇**提交變更...** 並將變更推送到 `main` 分支。

    推送提交後,工作流程將自動啟動。

  2. 前往**Actions**索引標籤。它會顯示工作流程。

    選擇工作流程會顯示所有步驟的明細。

  3. 工作流程完成後,前往您的Docker Hub 上的儲存庫後續步驟

    本教學已向您展示如何使用官方 Docker 動作建立簡單的 GitHub Actions 工作流程,以建置映像檔並將其推送到 Docker Hub。

    您可以執行更多操作來自訂工作流程,以更好地滿足您的需求。要瞭解更多關於一些更進階的用例,請查看進階範例,例如建置多平台映像檔,或使用快取儲存後端,以及如何設定您的建置器