From dc4554f15d2c8d80324e3a2703d6bfab15e529f2 Mon Sep 17 00:00:00 2001
From: daihw <928874202@qq.com>
Date: Wed, 15 Sep 2021 15:29:21 +0800
Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=87=AA=E5=AE=9A?=
=?UTF-8?q?=E4=B9=89=E8=8A=82=E7=82=B9=E6=96=87=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
guide/custom-node.md | 212 ++++++++++--------
guide/images/create_api_key.png | Bin 0 -> 148669 bytes
guide/images/create_node_definition.png | Bin 0 -> 46979 bytes
guide/images/view_node_definition_version.png | Bin 0 -> 94074 bytes
4 files changed, 113 insertions(+), 99 deletions(-)
create mode 100644 guide/images/create_api_key.png
create mode 100644 guide/images/create_node_definition.png
create mode 100644 guide/images/view_node_definition_version.png
diff --git a/guide/custom-node.md b/guide/custom-node.md
index 8e8381c..67a6626 100644
--- a/guide/custom-node.md
+++ b/guide/custom-node.md
@@ -1,132 +1,146 @@
# 自定义节点
-当节点库中的节点定义不满足场景需求时,用户可以通过自定义节点满足使用需求。
+当节点库中的节点定义不满足场景需求时,用户可以通过自定义节点满足使用需求。
用户可通过以下步骤使用自定义节点:
1. 创建自定义节点
2. 上传自定义节点到节点库
3. 流程中引用自定义节点
-### 如何创建自定义节点
-用户可创建自定义的节点定义dsl文件,来实现节点的自定义。
-样例:
+
+### 1. 如何创建自定义节点
+
+用户可以在[建木节点库](https://hub.jianmu.dev)创建节点,来实现节点的自定义。
+1. 登录后点击头像进入个人主页,点击创建节点
+2. 输入节点信息后点击创建,即创建成功
+
+
+节点定义说明:
```
-name: hello jianmu
-description: 输入指定语言类型,在控制台输出“你好,建木”的对应翻译,并返回
-owner: jianmu
-source: https://gitee.com/jianmu-examples/hello-jianmu
-docs: https://gitee.com/jianmu-examples/hello-jianmu
-ref: hello_jianmu
-version: latest
-resultFile: /tmp/return_hello
-type: DOCKER
-inputParameters:
- - ref: hello_language
- name: 指定翻译的语言
- type: SECRET
- value: Chinese
-outputParameters:
- - ref: return_hello
- name: “你好,建木”翻译后的结果
- type: STRING
- value: 你好,建木
-spec:
- image: 'jianmudev/hello-jianmu:latest'
- cmd:
- - /tmp/hello
- entrypoint:
- - /bin/sh
- - '-c'
+节点名称: 节点定义名称
+归属: 节点所有者,可以选择个人或组织。组织在个人主页进行创建
+节点唯一标识: 节点定义在归属内的唯一标识
+源码链接: 节点详情界面通过"源码"按钮跳转
+文档链接: 节点详情界面通过"文档"按钮跳转
+节点类型: 节点类型,当前只支持docker
+描述: 节点定义的描述
```
-定义说明:
-```
-name: 节点定义名称,必填
-description: 节点定义描述
-owner: 节点所有者
-source: 节点定义源码链接,可以在hub界面通过"源码"按钮跳转
-docs: 节点定义的文档链接,可以在hub界面通过"源码"按钮跳转
-ref: 节点定义的平台内部标识,必填
+
+
+### 2. 如何创建节点定义版本
+
+#### 2.1 通过Hub界面创建节点定义版本
+1. 点击节点定义名称进入节点定义详情界面
+2. 选择所有版本,点击创建版本
+3. 输入节点定义版本的dsl,点击确定,即创建成功
+
+
+节点定义版本dsl说明:
+
+
+ref: 归属人或归属组织的唯一标识/节点定义在归属内的唯一标识,必填,如:jianmu/hub_publish
+ 若官方节点定义,则可省略归属人或归属组织的唯一标识,如:hub_publish
version: 节点定义的版本,必填
-resultFile: 返回文件的路径,若定义了返回参数outputParameters,则必填。
-type: 节点类型,当前只支持docker
+resultFile: 输出参数的文件路径,若定义了输出参数outputParameters,则必填
inputParameters: 输入参数
- ref: 参数标识,会在容器内转译成'JIANMU_'开头并大写的环境变量。(如:hello_language在容器内可通过$JIANMU_HELLO_LANGUAGE调用)
- name: 变量名称
- type: 变量类型,支持STRING类型和SECRET类型
- STRING: 若变量类型为STRING,可直接填写值或引用其他变量
- SECRET: 若变量类型为SECRET,需要调用平台密钥,具体用法详见密钥管理章节
- value: 变量默认值,若调用该节点定义时没有指定该变量的值,将会使用此默认值
-outputParameters: 输出参数,定义节点指定的返回值,需要在"resultFile"指定的文件内填写对应的json数据,key为输出参数的ref值。
-spec: 镜像相关信息
- image: 指定该节点定义使用的容器镜像,执行时,平台将会从dockerhub拉取指定镜像版本,必填。
- cmd: list格式,指定容器运行时的command内容
- entrypoint: list格式,指定容器运行时的entrypoint内容
-```
+ ref: 参数唯一标识,会在容器内转译成'JIANMU_'开头并大写的环境变量。如:hub_url在容器内可通过JIANMU_HUB_URL环境变量调用,必填
+ name: 参数名称,必填
+ type: 参数类型,支持STRING、SECRET、NUMBER、BOOLEAN等类型,必填
+ STRING/NUMBER/BOOLEAN: 若参数类型为STRING/NUMBER/BOOLEAN,可直接填写值或引用其他变量(事件参数、全局参数、其他任务的输出参数等)
+ SECRET: 若参数类型为SECRET,需要调用平台密钥,具体用法详见密钥管理章节
+value: 参数默认值,若执行该节点定义时,没有指定参数值,将会使用此默认值,必填
+description: 参数描述,选填
+outputParameters: 输出参数,需要在"resultFile"指定的文件内填写对应的json数据,key为输出参数的ref值,格式同输入参数
+spec: 镜像相关信息,节点定义类型为docker时,必填
+ image: 指定该节点定义使用的容器镜像,执行时,平台将会从dockerhub拉取指定镜像,必填
+ cmd: list格式,指定容器运行时的command内容,选填
+ 如:cmd:
+ - shell1
+ - shell2
+ entrypoint: list格式,指定容器运行时的entrypoint内容,选填
+ 如:entrypoint:
+ - shell1
+ - shell2
+ 其他非必填参数请参考:spec参数
+
+
-### 如何上传自定义节点到节点库
-创建完任务定义的dsl文件后,可根据节点库中的`publish`节点创建流程推送该节点到节点库。具体用法可查看节点库`publish`节点的文档说明。以下为流程dsl样例:
+#### 2.2. 通过节点库中的`hub_publish`节点创建流程或管道推送该节点定义版本至节点库中
+
+1.流程代码:
```
workflow:
- name: 发布节点定义“hello-jianmu”
- ref: publish_hello_jianmu_task
- description: 这是一个发布自定义节点的流程定义样例
- Start:
+ name: 创建节点定义版本“hub-publish”
+ ref: publish_hub_publish_version
+ description: 这是一个创建节点定义版本的流程定义样例
+ start:
type: start
targets:
- - Clone
- Clone:
- type: git:v1.0
+ - git_clone
+ git_clone:
+ type: git_clone:1.0.0
sources:
- - Start
+ - start
targets:
- - Publish
+ - hub_publish
param:
- workspace: hello-jianmu
- remote_url: https://gitee.com/jianmu-examples/hello-jianmu.git
- commit_branch: master
- Publish:
- type: hub_publish:v1.0
+ ref: refs/heads/master
+ remote_url: https://gitee.com/jianmu-runners/jianmu-runner-node-definition-version-publisher.git
+ netrc_machine: gitee.com
+ netrc_username: ((gitee.username))
+ netrc_password: ((gitee.password))
+ hub_publish:
+ type: hub_publish:1.0.0
sources:
- - Clone
+ - git_clone
targets:
- - End
+ - end
param:
- registry_url: https://hub.jianmu.dev
- task_dsl_file: hello-jianmu/task.dsl
- hub_appkey: ((jianmuhub.appkey))
- End:
+ hub_url: https://api.jianmu.run
+ dsl_file_path: /xxx/xxx
+ hub_api_key: ((xxx.xxx))
+ end:
type: end
sources:
- - Publish
+ - hub_publish
```
-执行成功后,可查看节点库界面,可以看到自定义节点已经推送成功。
-
+
+hub_api_key获取步骤:
+
+1. 登录节点库
+2. 点击头像进入个人主页,再点击个人中心
+3. 点击ApiKey管理,添加ApiKey
+
-### 如何在流程中使用自定义节点
-自定义节点上传成功后,可在流程中通过ref:version指定该节点。
+
+2.管道代码;
+
```
-workflow:
- name: 样例——使用自定义节点
- ref: example_hello_jianmu
- description: 这是一个使用自定义节点的流程样例
- Start:
- type: start
- targets:
- - Hello_Jianmu
- Hello_Jianmu:
- type: hello_jianmu:latest
- sources:
- - Start
- targets:
- - End
+pipeline:
+ name: 发布节点定义版本“hub-publish”
+ ref: publish_hub_publish_version
+ description: 这是一个创建节点定义版本的管道定义样例
+ git_clone:
+ type: git_clone:1.0.0
param:
- hello_language: Chinese
- End:
- type: end
- sources:
- - Hello_Jianmu
+ remote_url: https://gitee.com/jianmu-runners/jianmu-runner-node-definition-version-publisher.git
+ ref: refs/heads/master
+ netrc_machine: gitee.com
+ netrc_username: ((gitee.username))
+ netrc_password: ((gitee.password))
+ hub_publish:
+ type: hub_publish:1.0.0
+ param:
+ hub_url: https://api.jianmu.run
+ dsl_file_path: /xxx/xxx
+ hub_api_key: ((xxx.xxx))
```
-详细用法可参照[`流程定义`](flow-dsl.md)章节。
+
+
+
+执行成功后,查看节点定义详情界面,可以看到节点定义版本已经推送成功。
+
diff --git a/guide/images/create_api_key.png b/guide/images/create_api_key.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cc9111968b15b0bc4134f26dbf6628799d17130
GIT binary patch
literal 148669
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