Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 2.18 KB

pipeline.md

File metadata and controls

65 lines (48 loc) · 2.18 KB
group name title index
guide
pipeline
配置 Pipeline
1

配置 Pipeline

Dawn 的每个工程中都需要包含对应的 pipeline 配置,在 pipe 配置中定义了「每个命令」对应的任务,配置可以是 yml/json/js 格式,但是通常建议用更易于阅读的 yml 格式,需要放到「工程根目录」,配置的名称为 .dawn 可以是一个目录,也可以是一个文件。

使用单一个配置文件

在工程根目录新建一个 .dawn.yml (也可以是 .dawn.json 或 .dawn.js),下边是 yml 格式的配置

pipe:
  build:
    - name: lint
    - name: webpack
      output: dist

如上配置,在执行 dn build 时,就会先进行语法检查,然后用 webpack 完成项目构建并将构建结果放入 dist 目录。

使用目录作为配置

在工程根目录新建一个 .dawn 的目录,然后在 .dawn 目录中新建一个 pipe.yml 的文件,如下

build:
  - name: lint
  - name: webpack
    output: dist

如上示例,「目录形式」的配置和之前的「文件形式」的配置一样,执行 dn build 就可以完成构建

Pipe 的执行

每个 pipe 中可以放任意多个「中间件」,在执行时会创建一个 context 实例,然后,依次执行每个中间件,所有中间件都能访问 context 实例对象。

示例

demo:
  - name: shell
    script:
      - echo 1
  - name: shell
    script:
      - echo 2
  - name: shell
    script:
      - echo 3

执行 dn run demo,控制台将会执次打印 1 2 3,每个中间件的配置选项有两个「保留的名称」

  • name: 用于指定中间件 package 名称,可以是完整的名称 dn-middleware-xxx 也可以是省略前缀的 xxx
  • location: 用于指定中间件入口文件的位置,一般用于本地调试,或内置在模板中不想独立发布的中间件

不同的中间件通常会有对应的其他配置项,可以参考中间件自身的说明文档。

注意

name 还可以包含 version,例如 dn-middleware-xxx@1.0.0,也可以包含 scope 例如 @scope/dn-middleware-xxx,或同时包含 scopeversion,例如 @scope/dn-middleware@1.0.0