0Pricing
Git & GitHub Professional Workflow · 课时

构建 CI/CD 工作流

创建实用的 CI/CD pipeline,在推送代码或提交拉取请求时自动构建、测试和部署代码。

构建 CI/CD 工作流 是 CoddyKit 上的免费 Git & GitHub Professional Workflow 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Git & GitHub Professional Workflow 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Git & GitHub Professional Workflow 课程共包含 4 节课。

欢迎学习 CI/CD

本课将教您如何使用 GitHub 操作构建强大的持续集成(CI)和持续部署(CD)流水线。

CI/CD 可以自动化软件开发流程,从代码更改一直到部署,让整个过程更快速、更可靠。

CI/CD 为什么重要

为什么自动化在现代软件开发中如此重要?

  • 更快获得反馈:通过自动运行测试,尽早发现错误和集成问题。
  • 一致的构建:确保每次构建都遵循相同步骤,减少“在我的机器上可以运行”的问题。
  • 可靠的发布:更有信心地部署新功能或修复内容,减少手动错误。
  • 更高效的协作:团队频繁且顺畅地集成更改,尽量减少合并冲突。

GitHub 操作:核心概念

GitHub 操作使用定义在 YAML 文件中的工作流。这些文件位于代码仓库中的特殊目录:.github/workflows/。

工作流定义一系列任务,每个任务包含用于执行命令或使用预构建操作的步骤。这就是您告诉 GitHub 要做什么的方式!

构建您的第一个 CI 工作流

让我们创建一个基本的 CI 工作流,使其在每次向代码仓库执行 push 时触发。它会设置 Node.js,并模拟项目构建流程。

将以下内容保存为代码仓库中的 .github/workflows/ci.yml:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Build project
        run: node build.js

模拟构建脚本

工作流中的 node build.js 命令会执行类似这样的脚本。此脚本会模拟编译、打包或准备应用程序代码的工作。

尝试运行它,查看输出结果:

console.log("Starting project build...");
console.log("  - Compiling source files...");
console.log("  - Bundling assets for deployment...");
console.log("Build process finished successfully!");

添加自动化测试

CI 的关键部分是运行自动化测试。让我们扩展工作流,在安装依赖项后添加一个测试步骤。如果测试失败,工作流也会失败,从而阻止不合格的代码继续推进!

我们将添加如下的 test 步骤:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: node test.js
      - name: Build project
        run: node build.js

模拟测试脚本

下面是一个简单的 test.js 脚本,您的工作流可能会执行它。在真实项目中,这通常会使用 Jest 或 Mocha 等测试框架,但这个示例展示了执行测试的基本原理。

运行它,查看模拟的测试结果:

console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing

if (allTestsPass) {
  console.log("All 12 tests passed successfully!");
} else {
  console.error("Tests failed! Please fix the errors.");
  process.exit(1); // Exit with a non-zero code to indicate failure
}

介绍持续部署(CD)

CI 专注于构建和测试,而持续部署(CD)更进一步:当所有 CI 检查通过后,它会自动将应用程序部署到服务器或云服务。

常见的 CD 触发条件包括:

  • 创建新的 Git 标签(例如 v1.0.0)
  • 推送到特定分支(例如 main 或 production)
  • 创建 GitHub 发布版本

简单的 CD 工作流

下面是一个在新 Git 标签创建时触发的工作流,其中包含一个模拟部署步骤。在真实场景中,此步骤会与您的托管服务提供商交互(例如 AWS、Azure 或 Heroku)。

将其保存为 .github/workflows/cd.yml:

name: Deploy to Production

on:
  push:
    tags:
      - 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Simulate deployment
        run: |
          echo "Deploying application to production server..."
          echo "Version: ${{ github.ref_name }}"
          echo "Deployment complete!"
          # In a real scenario, you'd use a deployment action here
          # e.g., aws-actions/configure-aws-credentials, appleboy/ssh-action

CI/CD 工作流检查

实施 CI/CD 流水线有哪些主要好处?

回顾:构建 CI/CD

您已经学会了如何使用 GitHub 操作构建可靠的 CI/CD 工作流!

  • 我们定义了 CI/CD,以及它对现代开发的好处。
  • 我们探索了 GitHub 操作工作流 YAML 结构的必要组成部分。
  • 我们创建了用于自动化项目构建和测试的 CI 工作流。
  • 我们设计了一个由标签触发自动部署的 CD 工作流。

继续进行自动化,让代码更快、更有信心地交付!

常见问题解答

「构建 CI/CD 工作流」课时是免费的吗?

是的 — 「构建 CI/CD 工作流」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Git & GitHub Professional Workflow 课程的其余内容,请升级到 CoddyKit PRO。 Git & GitHub Professional Workflow 课程共包含 4 节课。

「构建 CI/CD 工作流」这节课中我会学到什么?

创建实用的 CI/CD pipeline,在推送代码或提交拉取请求时自动构建、测试和部署代码。 你通过在浏览器中直接运行的动手代码来练习 Git & GitHub Professional Workflow,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Git & GitHub Professional Workflow 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Git & GitHub Professional Workflow 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「构建 CI/CD 工作流」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Git & GitHub Professional Workflow 课中编写并运行代码吗?

能。每节 Git & GitHub Professional Workflow 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. GitHub Actions 简介
  2. 构建 CI/CD 工作流
  3. 自定义 Actions 与 Marketplace
  4. 操作中的机密与环境变量
← 返回 Git & GitHub Professional Workflow