| group | guide |
|---|---|
| name | pipeline |
| title | 配置 Pipeline |
| index | 1 |
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 中可以放任意多个「中间件」,在执行时会创建一个 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,例如[email protected],也可以包含scope例如@scope/dn-middleware-xxx,或同时包含scope和version,例如@scope/[email protected]