返回

掌握GitHub Actions+Docker的持续集成工作流

前端

在现代软件开发中,持续集成(CI)已成为一项不可或缺的实践。CI 可以帮助我们自动构建、测试和部署代码,从而大幅提高开发效率和软件质量。GitHub Actions 是 GitHub 官方推出的持续集成服务,它与 Docker 完美结合,可以帮助我们轻松构建一个完整的 CI 工作流。

准备工作

在开始之前,我们需要准备以下内容:

  • 一个 GitHub 账号和一个项目
  • 一个 Docker 账号和一个镜像库
  • 一个 GitHub Actions runner

创建 GitHub Actions 工作流

登录 GitHub,进入你的项目,点击 "Actions" 标签页,然后点击 "Create new workflow" 按钮。

在弹出的对话框中,选择 "Use this workflow template",然后在搜索框中输入 "docker",选择 "Docker" 模板。

点击 "Continue" 按钮,进入工作流编辑器。

配置 GitHub Actions 工作流

工作流编辑器中,我们可以看到一个名为 .github/workflows/main.yml 的文件。这个文件定义了工作流的配置。

我们可以根据需要修改这个文件。例如,我们可以修改工作流的触发条件、构建步骤、测试步骤和部署步骤。

触发条件

触发条件指定了工作流在什么情况下运行。例如,我们可以设置工作流在每次 push 代码到 master 分支时运行。

on:
  push:
    branches: [master]

构建步骤

构建步骤指定了工作流如何构建代码。例如,我们可以使用 Docker 镜像来构建代码。

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Clone repository
        uses: actions/checkout@v2

      - name: Build Docker image
        run: docker build -t my-image .

测试步骤

测试步骤指定了工作流如何测试代码。例如,我们可以使用单元测试来测试代码。

  test:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Run unit tests
        run: npm test

部署步骤

部署步骤指定了工作流如何部署代码。例如,我们可以将代码部署到生产环境。

  deploy:
    runs-on: ubuntu-latest
    needs: test
    steps:
      - name: Deploy to production
        run: ssh user@server "cd /var/www/my-app && git pull && npm install && pm2 restart my-app"

运行工作流

配置好工作流后,我们可以点击 "Start workflow" 按钮来运行工作流。

工作流运行完成后,我们可以点击 "Jobs" 标签页来查看工作流的运行状态。

总结

通过使用 GitHub Actions 和 Docker,我们可以轻松构建一个完整的 CI 工作流。这个工作流可以帮助我们自动构建、测试和部署代码,从而大幅提高开发效率和软件质量。