为你的 .NET 应用程序配置 CI/CD
先决条件
完成本指南的所有先前章节,从容器化 .NET 应用程序开始。你必须拥有一个GitHub 账户和Docker 账户才能完成本节。
概览
在本节中,你将学习如何设置和使用 GitHub Actions 来构建和测试 Docker 镜像,并将其推送到 Docker Hub。你将完成以下步骤:
- 在 GitHub 上创建一个新仓库。
- 定义 GitHub Actions 工作流。
- 运行工作流。
第一步:创建仓库
创建一个 GitHub 仓库,配置 Docker Hub 凭据,并推送你的源代码。
在 GitHub 上创建一个新仓库。
打开仓库的设置,然后转到机密和变量 > Actions。
创建一个新的仓库变量,命名为
DOCKER_USERNAME
,值为你的 Docker ID。为 Docker Hub 创建一个新的个人访问令牌 (PAT)。你可以将此令牌命名为
docker-tutorial
。确保访问权限包括读取和写入。将 PAT 作为仓库机密添加到你的 GitHub 仓库中,名称为
DOCKERHUB_TOKEN
。在你的本地计算机上的本地仓库中,运行以下命令将源 (origin) 更改为你刚刚创建的仓库。请确保将
your-username
更改为你的 GitHub 用户名,将your-repository
更改为你创建的仓库名称。$ git remote set-url origin https://github.com/your-username/your-repository.git
在你的本地计算机上的本地仓库中,运行以下命令将分支重命名为 main。
$ git branch -M main
运行以下命令来暂存、提交,然后将你的本地仓库推送到 GitHub。
$ git add -A $ git commit -m "my first commit" $ git push -u origin main
第二步:设置工作流
设置 GitHub Actions 工作流,用于构建、测试并将镜像推送到 Docker Hub。
转到你在 GitHub 上的仓库,然后选择 Actions 选项卡。
选择自行设置工作流。
这将带你进入一个页面,默认在你的仓库下的
.github/workflows/main.yml
中创建一个新的 GitHub Actions 工作流文件。在编辑器窗口中,复制并粘贴以下 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: build load: true - name: Build and push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 push: true target: final tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest
有关
docker/build-push-action
的 YAML 语法的更多信息,请参阅GitHub Action README。
第三步:运行工作流
保存工作流文件并运行作业。
选择提交更改... 并将更改推送到
main
分支。推送提交后,工作流将自动启动。
转到 Actions 选项卡。它将显示工作流。
选择工作流将向你显示所有步骤的详细信息。
工作流完成后,转到你在Docker Hub 上的仓库。
如果你在该列表中看到新仓库,则表示 GitHub Actions 已成功将镜像推送到 Docker Hub。
总结
在本节中,你学习了如何为你的应用程序设置 GitHub Actions 工作流。
相关信息
下一步
接下来,学习如何在部署前在 Kubernetes 上本地测试和调试你的工作负载。