为您的 R 应用程序配置 CI/CD
前提条件
完成本指南的所有前面章节,从容器化 R 应用程序开始。您必须拥有一个 GitHub 账户以及一个 Docker 账户才能完成本节。
概述
在本节中,您将学习如何设置和使用 GitHub Actions 来构建和测试 Docker 镜像,并将其推送到 Docker Hub。您将完成以下步骤:
- 在 GitHub 上创建一个新仓库。
- 定义 GitHub Actions 工作流程。
- 运行工作流程。
第一步:创建仓库
创建 GitHub 仓库,配置 Docker Hub 凭据,并推送您的源代码。
在 GitHub 上创建新仓库。
打开仓库的 Settings(设置),然后转到 Secrets and variables(Secrets 和变量) > Actions。
创建一个新的 Repository variable(仓库变量),命名为
DOCKER_USERNAME
,并将您的 Docker ID 作为值。为 Docker Hub 创建新的Personal Access Token (PAT)(个人访问令牌)。您可以将此令牌命名为
docker-tutorial
。确保访问权限包含 Read 和 Write。将 PAT 添加为您的 GitHub 仓库中的 Repository secret(仓库 Secret),命名为
DOCKERHUB_TOKEN
。在您本地机器上的仓库中,运行以下命令以将 origin 更改为您刚创建的仓库。请确保您将
your-username
更改为您的 GitHub 用户名,并将your-repository
更改为您创建的仓库名称。$ git remote set-url origin https://github.com/your-username/your-repository.git
运行以下命令以暂存 (stage)、提交 (commit) 并将本地仓库推送到 (push) 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: platforms: linux/amd64,linux/arm64 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。
总结
在本节中,您学习了如何为 R 应用程序设置 GitHub Actions 工作流程。
相关信息
后续步骤
接下来,了解如何在部署前于本地测试和调试 Kubernetes 上的工作负载。