為您的 Node.js 應用程式配置 CI/CD
先決條件
完成本指南中所有之前的部分,從 容器化 Node.js 應用程式 開始。您必須擁有一個 GitHub 帳戶和一個 Docker 帳戶才能完成本節。
概述
在本節中,您將學習如何設定和使用 GitHub Actions 來構建和測試您的 Docker 映象,以及將其推送到 Docker Hub。您將完成以下步驟
- 在 GitHub 上建立一個新儲存庫。
- 定義 GitHub Actions 工作流程。
- 執行工作流程。
步驟一:建立儲存庫
建立 GitHub 儲存庫,配置 Docker Hub 憑據,然後推送您的原始碼。
開啟儲存庫的**設定**,然後轉到**Secrets 和變數**>**Actions**。
建立一個名為
DOCKER_USERNAME
的新**儲存庫變數**,並將您的 Docker ID 作為值。為 Docker Hub 建立一個新的 個人訪問令牌 (PAT)。您可以將此令牌命名為
docker-tutorial
。確保訪問許可權包括讀取和寫入。在您的 GitHub 儲存庫中將 PAT 作為**儲存庫金鑰**新增,名稱為
DOCKERHUB_TOKEN
。在您機器上的本地儲存庫中,執行以下命令以將來源更改為您剛剛建立的儲存庫。確保將
your-username
更改為您的 GitHub 使用者名稱,將your-repository
更改為您建立的儲存庫的名稱。$ git remote set-url origin https://github.com/your-username/your-repository.git
執行以下命令以暫存、提交和推送您的本地儲存庫到 GitHub。
$ git add -A $ git commit -m "my commit" $ git push -u origin main
步驟二:設定工作流程
設定您的 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 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: test load: true - name: Build and push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64/v8 push: true target: prod tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest
有關
docker/build-push-action
的 YAML 語法的更多資訊,請參閱 GitHub Action 自述檔案。
步驟三:執行工作流程
儲存工作流程檔案並執行作業。
選擇**提交更改...**並將更改推送到
main
分支。推送提交後,工作流程會自動啟動。
轉到**Actions**選項卡。它將顯示工作流程。
選擇工作流程將顯示所有步驟的細分。
工作流程完成後,轉到 Docker Hub 上的儲存庫。
如果您在列表中看到新的儲存庫,則表示 GitHub Actions 已成功將映象推送到 Docker Hub。
總結
在本節中,您學習瞭如何為您的 Node.js 應用程式設定 GitHub Actions 工作流程。
相關資訊
下一步
接下來,學習如何在部署之前在 Kubernetes 上本地測試和除錯您的工作負載。