为你的 Rust 应用程序配置 CI/CD
先决条件
完成本指南的先前部分,从开发你的 Rust 应用程序开始。你必须拥有一个 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运行以下命令以暂存、提交并将您的本地仓库推送到 GitHub。
$ git add -A $ git commit -m "my 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 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。
第三步:运行工作流程
保存工作流程文件并运行作业。
选择 Commit changes... 并将更改推送到
main分支。推送提交后,工作流程会自动启动。
转到 Actions 选项卡。它会显示工作流程。
选择工作流程将显示所有步骤的详细信息。
工作流程完成后,请访问您在Docker Hub 上的仓库。
如果您在该列表中看到新仓库,则表示 GitHub Actions 已成功将镜像推送到 Docker Hub。
摘要
在本节中,你学习了如何为你的 Rust 应用程序设置 GitHub Actions 工作流。
相关信息
后续步骤
接下来,了解如何在部署之前在 Kubernetes 上本地测试和调试您的工作负载。