Docker Build GitHub Actions
GitHub Actions 是一個熱門的 CI/CD 平台,可用於自動化您的建置、測試和部署流程。Docker 提供一組官方 GitHub Actions 供您在工作流程中使用。這些官方 Actions 是可重複使用且易於使用的元件,可用於建置、註釋和推送映像檔。
下列 GitHub Actions 可用
- 建置和推送 Docker 映像檔: 安裝 QEMU ... 靜態二進位檔,以進行多架構建置。
- Docker Buildx Bake ... : 使用 Bake 啟用高階建置。
- Docker Scout
: 分析 Docker 映像檔以查找安全漏洞。
使用 Docker 的 Actions 提供易於使用的介面,同時仍允許彈性自訂建置參數。
範例
如果您正在尋找有關如何使用 Docker GitHub Actions 的範例,請參閱以下章節
GitHub Actions 快速入門
本教學將引導您完成設定和使用 Docker GitHub Actions 來建置 Docker 映像檔,以及將映像檔推送到 Docker Hub 的過程。您將完成以下步驟
- 在 GitHub 上建立新的儲存庫。
- 定義 GitHub Actions 工作流程。
- 執行工作流程。
要 mengikuti 教學นี้,您需要一個 Docker ID 和一個 GitHub 帳戶。
步驟一:建立儲存庫
建立 GitHub 儲存庫並設定 Docker Hub 憑證。
使用此範本儲存庫
建立一個新的 GitHub 儲存庫。該儲存庫包含一個簡單的 Dockerfile,沒有其他內容。如果您願意,可以隨意使用其他包含有效 Dockerfile 的儲存庫。
打開儲存庫**設定**,然後前往**密鑰和變數** > **Actions**。
建立一個名為 `DOCKERHUB_USERNAME` 的新**儲存庫變數**,並將您的 Docker ID 作為值。
為 Docker Hub 建立一個新的個人存取權杖。您可以將此權杖命名為 `clockboxci`。
將 Docker Hub 存取權杖作為**儲存庫密鑰**新增到您的 GitHub 儲存庫中,名稱為 `DOCKERHUB_TOKEN`。
建立儲存庫並設定憑證後,您現在就可以開始行動了。
步驟二:設定工作流程
設定您的 GitHub Actions 工作流程以建置映像檔並將其推送到 Docker Hub。
前往 GitHub 上的儲存庫,然後選擇**Actions**索引標籤。
選擇**自行設定工作流程**。
這將帶您到一個頁面,您可以在其中於儲存庫中建立新的 GitHub Actions 工作流程檔案,預設位置為 ` .github/workflows/main.yml`。
在編輯器視窗中,複製並貼上以下 YAML 設定。
name: ci on: push: branches: - "main" jobs: build: runs-on: ubuntu-latest
- `name`:此工作流程的名稱。
- `on.push.branches`:指定此工作流程應在清單中每個分支的每次推送事件上執行。
- `jobs`:建立作業 ID (`build`) 並宣告作業應在其上執行的機器類型。
有關此處使用的 YAML 語法的更多資訊,請參閱GitHub Actions 的工作流程語法 現在是重點:要執行的步驟,以及執行順序。 先前的 YAML 程式碼片段包含一系列步驟,這些步驟將jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ vars.DOCKERHUB_USERNAME }}/clockbox:latest