Skip to content

快速开始

云原生构建 为您提供开箱即用的 CI/CD 能力,核心在于声明式配置: 定义在特定分支发生特定事件时自动执行一系列任务。

本文将引导您完成两个任务:

  • 创建并运行第一条流水线:体验从代码提交到自动化构建的完整流程。
  • 编写实用的 PR 流水线:学习配置用于代码质量守护的常见流水线。

第一部分:五分钟运行第一条流水线

第一步:创建仓库并进入开发环境

如果您还没有代码仓库,请先新建一个。创建成功后,点击页面的 云原生开发 按钮,快速创建一个开发环境。 创建工作空间选择 WebIDE,进入在线开发环境。

第二步:创建并提交流水线配置文件

  • 在 WebIDE 中,在仓库根目录创建一个名为 .cnb.yml 的文件。

  • 将以下 YAML 配置复制到文件中并保存。此配置定义了: 当代码推送到 main 分支时,自动运行一个输出 "hello world" 的任务。

yaml
# 分支名
main:
  # 事件名
  push:
    # 要执行的任务
    - stages:
        - name: echo-hello
          script: echo "hello world"
  • 将本次修改提交 (Commit) 并推送 (Push) 到远程 main 分支。

第三步:查看流水线执行结果

提交后,流水线将自动触发。

  • 返回您的仓库主页。
  • 点击 云原生构建 标签页,查看所有构建记录。
  • 点击最新的一条记录(由 push 事件触发),查看详细的构建日志与状态。

恭喜!您已成功完成第一次 CI/CD 实践。

第二部分:编写一个实用的 PR 检测流水线

现在,我们来实现一个更真实的场景:为 main 分支配置 Pull Request (PR) 流水线, 用于自动执行代码检查 (lint) 和测试 (test),并在失败时通知团队。

让我们一步步拆解需求并转化为配置:

1. 定义分支和事件

首先,指定规则生效的分支 (main) 和事件 (pull_request)。

yaml
main: # 分支名:规则仅在 main 分支生效
  pull_request: # 事件名:当发生 Pull Request 时触发

2. 定义流水线与任务

一个事件下可以并行执行多条流水线。此处我们定义一条名为 pr-check 的流水线,它包含两个顺序执行的任务 (stages)。

yaml
main:
  pull_request:
    - name: pr-check # 流水线名称
      stages: # 定义主任务序列
        - name: lint # 任务1:代码检查
          script: echo "Running linting tools..." # 执行 lint 的脚本
        - name: test # 任务2:运行测试
          script: echo "Running test suites..." # 执行 test 的脚本

3. 定义失败处理

若主任务 (stages) 中任一任务失败,可通过 failStages 自动执行告警任务。

yaml
main:
  pull_request:
    - name: pr-check
      stages:
        - name: lint
          script: echo "Running linting tools..."
        - name: test
          script: echo "Running test suites..."
      failStages: # 定义失败处理任务序列
        - name: notify-team # 任务:通知团队
          script: echo "Notifying the chat group that the PR check failed!"

流水线执行逻辑

  • 监听 main 分支的 pull_request 事件。
  • 启动 pr-check 流水线。
  • 按序执行 stages 中的任务(lint → test)。
  • 若所有任务成功,流水线状态为通过。
  • 若任一任务失败,立即中止并转而执行 failStages 中的任务。

下一步

  • 🔧 深入了解配置:查看配置文件详解,探索更多高级功能。
  • 📖 掌握完整语法:前往语法手册了解所有配置项。
  • 🚀 参考真实案例:需要更多灵感?请访问最佳实践, Fork 示例仓库或复用其配置,快速定制您的流水线。