快速开始

940 字
5 分钟
--
快速开始

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

本文将引导您完成两个目标:

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

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

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

如果您还没有代码仓库,请先新建一个。创建成功后,点击页面的 云原生开发 按钮,快速创建一个开发环境。

创建工作空间
创建工作空间

选择 WebIDE,进入在线开发环境以便快速开始。

选择WebIDE
选择WebIDE

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

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

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

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

提交CI配置
提交CI配置

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

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

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

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

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

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

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

1. 定义分支和事件#

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

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

2. 定义流水线与任务#

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

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 自动执行告警任务。

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!"

流水线执行逻辑:

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

下一步#

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

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
快速开始
https://image.js.cn/blog/cnb/quick-start/
作者
image.js
发布于
1970-01-01
许可协议
CC BY-NC-SA 4.0

评论区

点赞或评论

本页大纲

分类目录