为您的Python应用程序配置CI/CD
先决条件
完成本指南的所有前几部分,从容器化Python应用程序开始。您必须拥有一个GitHub账户和一个Docker账户才能完成此部分。
概述
在本节中,您将学习如何设置和使用 GitHub Actions 来构建和测试您的 Docker 镜像,并将其推送到 Docker Hub。您将完成以下步骤:
- 在GitHub上创建一个新的仓库。
- 定义GitHub Actions工作流程。
- 运行工作流程。
第一步:创建仓库
创建一个GitHub仓库,配置Docker Hub凭据,并推送你的源代码。
打开仓库的设置,然后进入秘密和变量 > 操作。
创建一个名为
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
第二步:设置工作流程
设置您的GitHub Actions工作流程,用于构建、测试并将镜像推送到Docker Hub。
转到您在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 README。
第三步:运行工作流
保存工作流文件并运行作业。
选择提交更改...并将更改推送到
main分支。提交推送后,工作流会自动启动。
转到操作选项卡。它显示了工作流程。
选择工作流会显示所有步骤的分解。
当工作流程完成后,前往您的 Docker Hub上的仓库。
如果你在列表中看到新的仓库,这意味着GitHub Actions成功将镜像推送到了Docker Hub。
摘要
在本节中,您学习了如何为您的Python应用程序设置GitHub Actions工作流。
相关信息:
下一步
接下来,学习如何在部署之前在Kubernetes上本地测试和调试您的工作负载。