為您的 .NET 應用程式配置 CI/CD
先決條件
完成本指南的所有前面部分,從容器化 .NET 應用程式開始。您必須擁有 GitHub 賬戶和 Docker 賬戶才能完成此部分。
概述
在本節中,您將學習如何設定和使用 GitHub Actions 來構建和測試您的 Docker 映象,並將其推送到 Docker Hub。您將完成以下步驟:
- 在 GitHub 上建立一個新倉庫。
- 定義 GitHub Actions 工作流程。
- 執行工作流程。
第一步:建立倉庫
建立一個 GitHub 倉庫,配置 Docker Hub 憑據,並推送您的原始碼。
在 GitHub 上建立一個新倉庫。
開啟倉庫的 Settings,然後進入 Secrets and variables > Actions。
建立一個名為
DOCKER_USERNAME
的新 Repository variable,並將其值設定為您的 Docker ID。為 Docker Hub 建立一個新的個人訪問令牌 (PAT)。您可以將此令牌命名為 `docker-tutorial`。確保訪問許可權包含“讀取”和“寫入”。
將 PAT 作為 Repository secret 新增到您的 GitHub 倉庫中,名稱為
DOCKERHUB_TOKEN
。在您機器上的本地倉庫中,執行以下命令將源更改為您剛剛建立的倉庫。請確保將 `your-username` 更改為您的 GitHub 使用者名稱,將 `your-repository` 更改為您建立的倉庫名稱。
$ git remote set-url origin https://github.com/your-username/your-repository.git
在您機器上的本地倉庫中,執行以下命令將分支重新命名為 main。
$ git branch -M main
執行以下命令來暫存、提交,然後將您的本地倉庫推送到 GitHub。
$ git add -A $ git commit -m "my first commit" $ git push -u origin main
第二步:設定工作流程
設定您的 GitHub Actions 工作流程,用於構建、測試並將映象推送到 Docker Hub。
前往您在 GitHub 上的倉庫,然後選擇 Actions 選項卡。
選擇 set up a workflow yourself。
這會將您帶到一個頁面,您可以在其中建立新的 GitHub Actions 工作流程檔案,預設路徑為
.github/workflows/main.yml
。在編輯器視窗中,複製並貼上以下 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 test uses: docker/build-push-action@v6 with: target: build load: true - name: Build and push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 push: true target: final tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest
有關
docker/build-push-action
的 YAML 語法的更多資訊,請參閱GitHub Action README。
第三步:執行工作流程
儲存工作流程檔案並執行作業。
選擇 Commit changes... 並將更改推送到
main
分支。推送提交後,工作流程會自動啟動。
轉到 Actions 選項卡。它會顯示工作流程。
選擇工作流程將顯示所有步驟的詳細資訊。
工作流程完成後,請訪問您在Docker Hub 上的倉庫。
如果您在該列表中看到新倉庫,則表示 GitHub Actions 已成功將映象推送到 Docker Hub。
摘要
在本節中,您學習瞭如何為您的應用程式設定 GitHub Actions 工作流。
相關資訊
後續步驟
接下來,瞭解如何在部署之前在 Kubernetes 上本地測試和除錯您的工作負載。