为您的 C++ 应用程序配置 CI/CD
先决条件
完成本指南中所有前面的部分,从 容器化 C++ 应用程序 开始。您必须拥有 GitHub 帐户和 Docker 帐户才能完成本节。
概述
在本节中,您将学习如何设置和使用 GitHub Actions 来构建和测试您的 Docker 镜像,以及将其推送到 Docker Hub。您将完成以下步骤
- 在 GitHub 上创建一个新仓库。
- 定义 GitHub Actions 工作流。
- 运行工作流。
步骤一:创建仓库
创建 GitHub 仓库,配置 Docker Hub 凭据,并将您的源代码推送到仓库。
打开仓库的**设置**,然后转到**秘密和变量** > **Actions**。
创建一个名为
DOCKER_USERNAME
的新**仓库变量**,并将您的 Docker ID 作为其值。为 Docker Hub 创建一个新的 个人访问令牌 (PAT)。您可以将其命名为
docker-tutorial
。确保访问权限包括读取和写入。将 PAT 作为**仓库秘密**添加到您的 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
步骤二:设置工作流
为构建、测试和将镜像推送到 Docker Hub 设置 GitHub Actions 工作流。
转到您在 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 push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 push: true tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest
有关
docker/build-push-action
的 YAML 语法的更多信息,请参阅 GitHub Action 自述文件。
步骤三:运行工作流
保存工作流文件并运行作业。
选择**提交更改...**并将更改推送到
main
分支。推送到提交后,工作流会自动启动。
转到**Actions** 选项卡。它会显示工作流。
选择工作流会显示所有步骤的细分。
工作流完成后,转到您的 Docker Hub 上的仓库。
如果在该列表中看到了新仓库,则表示 GitHub Actions 成功地将镜像推送到 Docker Hub。
总结
在本节中,您学习了如何为您的 C++ 应用程序设置 GitHub Actions 工作流。
相关信息
下一步
接下来,学习如何在部署之前在本地测试和调试您的 Kubernetes 工作负载。