group | name | title | index |
---|---|---|---|
guide |
pipeline |
配置 Pipeline |
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
,例如dn-middleware-xxx@1.0.0
,也可以包含scope
例如@scope/dn-middleware-xxx
,或同时包含scope
和version
,例如@scope/dn-middleware@1.0.0