为您的 Go 应用程序配置 CI/CD

先决条件

从构建您的 Go 映像开始,完成本指南的前面部分 。您必须拥有 GitHub帐户和 Docker帐户才能完成此部分。

概述

在本部分中,您将了解如何设置和使用 GitHub Actions 来构建 Docker 映像并将其推送到 Docker Hub。您将完成以下步骤:

  1. 在 GitHub 上创建一个新存储库。
  2. 定义 GitHub Actions 工作流程。
  3. 运行工作流程。

第一步:创建存储库

创建 GitHub 存储库、配置 Docker Hub 机密并推送源代码。

  1. 在 GitHub 上创建一个新存储库

  2. 打开存储库设置,然后转到秘密和变量> 操作

  3. 创建一个名为Secret 的新存储库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 操作工作流程文件(.github/workflows/main.yml默认情况下)。

  3. 在编辑器窗口中,复制并粘贴以下 YAML 配置并提交更改。

    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          -
            name: Checkout
            uses: actions/checkout@v4
          -
            name: Login to Docker Hub
            uses: docker/login-action@v3
            with:
              username: ${{ secrets.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@v5
            with:
              context: .
              push: true
              tags: ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

    如果您的 Dockerfile 位于不同的目录中,请context使用包含 Dockerfile 的目录的路径更新 。

    有关此处使用的 YAML 语法的更多信息,请参阅 GitHub Actions 的工作流语法

第三步:运行工作流程

保存工作流程文件并运行作业。

  1. 选择提交更改...并将更改推送到main分支。

    推送提交后,工作流程将自动启动。

  2. 转到“操作”选项卡。它显示工作流程。

    选择工作流程会显示所有步骤的细分。

  3. 工作流程完成后,转到 Docker Hub 上的存储库

    如果您在该列表中看到新存储库,则意味着 GitHub Actions 已成功将映像推送到 Docker Hub。

概括

在本部分中,您学习了如何为应用程序设置 GitHub Actions 工作流程。

相关信息:

下一步

接下来,了解如何在部署之前在 Kubernetes 上本地测试和调试工作负载。