Share feedback
Answers are generated based on the documentation.

为 Rust 应用程序配置 CI/CD

先决条件

完成本指南前面的部分,从开发 Rust 应用程序开始。你必须拥有 GitHub 账户和经过验证的 Docker 账户才能完成本节内容。

概述

在本节中,你将学习如何设置并使用 GitHub Actions 构建 Docker 镜像并将其推送到 Docker Hub。你需要完成以下步骤:

  1. 在 GitHub 上创建新仓库。
  2. 定义 GitHub Actions 工作流。
  3. 运行工作流。

第一步:创建仓库

创建 GitHub 仓库,配置 Docker Hub 凭据,并推送源代码。

  1. 在 GitHub 上创建新仓库

  2. 打开仓库的 Settings(设置),进入 Secrets and variables(机密和变量)> Actions

  3. 创建一个名为 DOCKER_USERNAME仓库变量,并将你的 Docker ID 作为其值。

  4. 为 Docker Hub 创建新的 个人访问令牌 (PAT)。你可以将此令牌命名为 docker-tutorial。确保访问权限包含读取和写入权限。

  5. 将 PAT 作为仓库机密添加到你的 GitHub 仓库中,名称为 DOCKERHUB_TOKEN

  6. 在本地机器上的本地仓库中,运行以下命令将 origin 更改为你刚刚创建的仓库。请确保将 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 上的仓库,然后选择 Actions 选项卡。

  2. 选择 set up a workflow yourself(自行设置工作流)。

    这将带你进入一个页面,用于在仓库中创建新的 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:
              push: true
              tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

    有关 docker/build-push-action 的 YAML 语法更多信息,请参阅 GitHub Action README

第三步:运行工作流

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

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

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

  2. 进入 Actions 选项卡。它会显示工作流。

    选择工作流可以查看所有步骤的详细信息。

  3. 工作流完成后,进入 Docker Hub 上的仓库

    如果你在该列表中看到新仓库,说明 GitHub Actions 已成功将镜像推送到 Docker Hub。

总结

在本节中,你学习了如何为 Rust 应用程序设置 GitHub Actions 工作流。

相关信息:

后续步骤

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