为您的 PHP 应用程序配置 CI/CD
先决条件
从容器化 PHP 应用程序开始,完成本指南前面的所有部分 。您必须拥有 GitHub帐户和 Docker帐户才能完成此部分。
概述
在本部分中,您将了解如何设置和使用 GitHub Actions 来构建和测试 Docker 映像,并将其推送到 Docker Hub。您将完成以下步骤:
- 在 GitHub 上创建一个新存储库。
- 定义 GitHub Actions 工作流程。
- 运行工作流程。
第一步:创建存储库
创建 GitHub 存储库、配置 Docker Hub 机密并推送源代码。
打开存储库设置,然后转到秘密和变量> 操作。
创建一个名为的新密钥
DOCKER_USERNAME
,并将您的 Docker ID 作为值。为 Docker Hub创建新的 个人访问令牌 (PAT) 。您可以命名该令牌
tutorial-docker
。将 PAT 添加为 GitHub 存储库中的第二个机密,名称为
DOCKERHUB_TOKEN
。在计算机上的本地存储库中,运行以下命令将源更改为您刚刚创建的存储库。确保更改
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 上的存储库,然后选择“操作”选项卡。
选择自己设置工作流程。
这将带您进入一个页面,用于在存储库中创建新的 GitHub 操作工作流程文件(
.github/workflows/main.yml
默认情况下)。在编辑器窗口中,复制并粘贴以下 YAML 配置。
name: ci on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.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@v5 with: context: . target: test load: true - name: Build and push uses: docker/build-push-action@v5 with: context: . push: true target: final tags: ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest
有关此处使用的 YAML 语法的更多信息,请参阅 GitHub Actions 的工作流语法。
第三步:运行工作流程
保存工作流程文件并运行作业。
选择提交更改...并将更改推送到
main
分支。推送提交后,工作流程将自动启动。
转到“操作”选项卡。它显示工作流程。
选择工作流程会显示所有步骤的细分。
工作流程完成后,转到 Docker Hub 上的存储库。
如果您在该列表中看到新存储库,则意味着 GitHub Actions 已成功将映像推送到 Docker Hub。
概括
在本部分中,您学习了如何为应用程序设置 GitHub Actions 工作流程。
相关信息:
下一步
接下来,了解如何在部署之前在 Kubernetes 上本地测试和调试工作负载。