為您的 Python 應用程式配置 CI/CD

先決條件

完成本指南中所有前面的部分,從 容器化 Python 應用程式 開始。您必須擁有 GitHub 帳戶和 Docker 帳戶才能完成本節。

概述

在本節中,您將學習如何設定和使用 GitHub Actions 來構建和測試您的 Docker 映象,以及將其推送到 Docker Hub。您將完成以下步驟

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

步驟一:建立倉庫

建立一個 GitHub 倉庫,配置 Docker Hub 憑據,並將您的原始碼推送到倉庫。

  1. 建立一個新的倉庫 在 GitHub 上。

  2. 開啟倉庫的**設定**,然後轉到**秘密和變數**>**操作**。

  3. 建立一個名為 DOCKER_USERNAME 的新的**倉庫變數**,並將您的 Docker ID 作為值。

  4. 為 Docker Hub 建立一個新的 個人訪問令牌 (PAT)。您可以將此令牌命名為 docker-tutorial。確保訪問許可權包括讀寫。

  5. 將 PAT 新增到您的 GitHub 倉庫中的**倉庫秘密**,名稱為 DOCKERHUB_TOKEN

  6. 在您機器上的本地倉庫中,執行以下命令以將來源更改為您剛剛建立的倉庫。確保將 your-username 更改為您的 GitHub 使用者名稱,將 your-repository 更改為您建立的倉庫的名稱。

    $ git remote set-url origin https://github.com/your-username/your-repository.git
    
  7. 執行以下命令以暫存、提交併將您的本地倉庫推送到 GitHub。

    $ git add -A
    $ git commit -m "my commit"
    $ git push -u origin main
    

步驟二:設定工作流程

設定您的 GitHub Actions 工作流程,用於構建、測試並將映象推送到 Docker Hub。

  1. 轉到您在 GitHub 上的倉庫,然後選擇**操作**選項卡。

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

    這將帶您進入一個頁面,用於在您的倉庫中建立新的 GitHub Actions 工作流程檔案,預設情況下位於 .github/workflows/main.yml 下。

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

    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          -
            name: Login to Docker Hub
            uses: docker/login-action@v3
            with:
              username: ${{ vars.DOCKER_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:
              platforms: linux/amd64,linux/arm64
              push: true
              tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

    有關 docker/build-push-action 的 YAML 語法的更多資訊,請參閱 GitHub Action 自述檔案

步驟三:執行工作流程

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

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

    推送提交後,工作流程會自動開始。

  2. 轉到**操作**選項卡。它將顯示工作流程。

    選擇工作流程將顯示所有步驟的細分。

  3. 工作流程完成後,轉到您的 Docker Hub 上的倉庫

    如果在該列表中看到新的倉庫,則表示 GitHub Actions 已成功將映象推送到 Docker Hub。

總結

在本節中,您學習瞭如何為您的 Python 應用程式設定 GitHub Actions 工作流程。

相關資訊

下一步

接下來,瞭解如何在部署之前在 Kubernetes 上本地測試和除錯您的工作負載。