diff --git a/guide/custom-node.md b/guide/custom-node.md index 14486204ac8353fd65f1f82bc0c29ca80117f218..7455257beede295a61bcf1af297d86f91e2487ee 100644 --- a/guide/custom-node.md +++ b/guide/custom-node.md @@ -37,8 +37,7 @@  节点定义版本dsl说明: - -
+``` ref: 归属人或归属组织的唯一标识/节点定义在归属内的唯一标识,必填,如:jianmu/hub_publish 若官方节点定义,则可省略归属人或归属组织的唯一标识,如:hub_publish version: 节点定义的版本,必填 @@ -47,8 +46,8 @@ inputParameters: 输入参数 ref: 参数唯一标识,会在容器内转译成'JIANMU_'开头并大写的环境变量。如:hub_url在容器内可通过JIANMU_HUB_URL环境变量调用,必填 name: 参数名称,必填 type: 参数类型,支持STRING、SECRET、NUMBER、BOOLEAN等类型,必填 - STRING/NUMBER/BOOLEAN: 若参数类型为STRING/NUMBER/BOOLEAN,可直接填写值或引用其他变量(事件、全局、其他任务的输出等参数) - SECRET: 若参数类型为SECRET,需要调用平台密钥,具体用法详见密钥管理章节 + STRING/NUMBER/BOOLEAN: 若参数类型为STRING/NUMBER/BOOLEAN,可直接填写值或引用其他变量(事件、全局、其他任务的输出等参数) + SECRET: 若参数类型为SECRET,需要调用平台密钥,具体用法详见密钥管理章节 value: 参数默认值,若执行该节点定义时,没有指定参数值,将会使用此默认值,必填 description: 参数描述,选填 outputParameters: 输出参数,需要在"resultFile"指定的文件内填写对应的json数据,key为输出参数的ref值,格式同输入参数 @@ -62,10 +61,11 @@ spec: 镜像相关信息,节点定义类型为docker时,必填 如:entrypoint: - shell1 - shell2 - 其他非必填参数请参考:spec参数 -- +``` +相关链接: +1. 节点输出参数:[变量](vars.md) +2. 调用平台密钥:[密钥管理](secrets.md) +3. spe的其他非必填参数:[spec参数](https://gitee.com/jianmu-dev/jianmu-ci-server/blob/master/task-core/src/main/java/dev/jianmu/task/aggregate/spec/ContainerSpec.java) #### 2.2. 通过节点库中的`hub_publish`节点创建流程或管道推送该节点定义版本至节点库中 diff --git a/guide/node-dsl.md b/guide/node-dsl.md index 0b6a252402b8adbfdfe08c8d56867ac6dc978b28..51ef7112a6532702266b747fadab1c062993d5b9 100644 --- a/guide/node-dsl.md +++ b/guide/node-dsl.md @@ -1,8 +1,8 @@ # 节点定义 -流程定义由不同类型的节点组成,不同类型的节点对应不同的节点定义 +[流程](flow-dsl.md)/[管道](guide/pipeline-dsl.md)定义由不同类型的节点组成,不同类型的节点对应不同的节点定义 -建木官方提供的节点定义可以访问[节点库](https://hub.jianmu.dev/)查找 +建木官方提供的节点定义可以访问[节点库](https://hub.jianmu.dev)查找 节点定义中定义了一个节点类型所支持的`输入参数`与`输出参数`,同时指定了参数的类型与默认值 diff --git a/guide/pipeline-dsl.md b/guide/pipeline-dsl.md new file mode 100644 index 0000000000000000000000000000000000000000..2cb5da40078d3807ba56c97f01b123d48a92f0d9 --- /dev/null +++ b/guide/pipeline-dsl.md @@ -0,0 +1,74 @@ +# 管道定义 + +CI/CD管道使用Yaml来定义 + +### pipeline + +管道定义在pipeline段落下: + +``` +pipeline: + name: 管道名称 + ref: 管道唯一标识 + description: 管道描述 +``` + +### 管道节点 + +管道由节点组成,同一个管道中的节点名称不可重复: + +``` + git_clone: + type: git_clone:1.0.0 +``` + +节点使用type字段来指定节点类型,节点类型由节点定义唯一标识`ref`与节点定义版本组成 + +如果不指定版本时,系统会使用默认版本`latest`,如 + +``` + git_clone: + type: git_clone +``` + +等价于 + +``` + git_clone: + type: git_clone:latest +``` + +### 节点执行顺序 + +管道自上而下依次执行,一个节点只能有一个上游/下游节点,如下: + +``` + git_clone: + type: git_clone:1.0.0 + param: + ref: refs/heads/master + remote_url: https://gitee.com/jianmu-runners/jianmu-runner-node-definition-version-publisher.git + hub_publish: + type: hub_publish:1.0.0 + param: + hub_url: https://api.jianmu.run + dsl_file_path: ${git_clone.git_path} + hub_api_key: ((xxx.xxx)) +``` + +### 节点参数 + +不同的节点类型定义了不同的参数,节点类型预先定义了`输入参数`和`输出参数`的名称、类型与默认值 + +在管道中配置节点时,可以覆盖`输入参数`的默认值,例如: + +``` + hub_publish: + type: "hub_publish:1.0.0" + param: + hub_url: https://api.jianmu.run + dsl_file_path: ${git_clone.git_path} + hub_api_key: ((xxx.xxx)) +``` + +`输入参数`和`输出参数`也可以使用变量方式引用,详情参见[`变量章节`](vars.md) \ No newline at end of file