云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

管道允许创建用户定义的资源来扩展管道DSL。2022世界杯阿根廷预选赛赛程


2022世界杯阿根廷预选赛赛程 通常包含所需的信息 一个年代 在管道中执行Tep,也可用于存储由某个步骤产生的信息。

扩展资源2022世界杯阿根廷预选赛赛程允许管道用户通过指定自己的资源类型来扩展管道DSL。当加载到管道中时,这些用户定义的资源可以在任何管道中使用,就像管道DSL中的任何其他资源一样。2022世界杯阿根廷预选赛赛程通过这种方式,团队和组织可以为管道中经常使用的信息创建和共享他们自己的可重用的自定义资源类型。

扩展资源在命名空间中2022世界杯阿根廷预选赛赛程定义,以确保集合中的所有资源都有唯一的名称。

扩展资源是有版本的,2022世界杯阿根廷预选赛赛程并且可以在管道中通过它们的语义版本号来调用,以确保兼容性。

页面内容


文件

扩展资源定义必须存储在如下形式的子目录路径中:2022世界杯阿根廷预选赛赛程资源/ <名称空间> /< resourceTypeName >。

  • 名称空间扩展集集的名称空间。此父子目录可以包含多个步骤定义子目录。
  • resourceTypeName是否命名为类型的资源。必须为字母字符,区分大小写。子目录可以保存以下文件来定义资源。
文件 描述 必需的/可选
resourceModel.yml 语法模型对于资源。 要求

onInput.sh

和/或

onInput.ps1

Shell脚本在步骤中指定时执行input2022世界杯阿根廷预选赛赛程Resources 可选

onOutput.sh

和/或

onOutput.ps1

Shell脚本在步骤中指定时执行output2022世界杯阿根廷预选赛赛程Resources 可选
ReadMe.md 定制资源的文档。 可选
icon.svg

图标图形表示交互图中的资源类型。

如果没有提供,管道将使用资源的默认图标。

可选

当扩展资源定义在管线UI中被配置为扩展源时,将从源存储库加载扩展资源定义。

有关管理扩展源和扩展版本生命周期分段的信息,请参见管理管道扩展


语法模型

这是资源的语法模型。

resourceModel.yml
description:  #用户可以提供一个可选的描述平台:# optional - os: Linux - os: Windows configuration: #属性数组<属性名称string>: type: <数据类型> # required required:  # optional immutable:  # optional:字段值不能/可以更改validate: # optional <验证规范> allowedIntegrationTypes:  # optional #更多属性定义userDefinedDataType: #数组的数据类型定义- type: #定义一个新的数据类型配置:—: #指定数据类型的属性type: <数据类型> # required required:  # optional validate: # optional <验证规范> allowedIntegrationTypes:  # optional #更多数据类型属性定义

标签

属性中定义以下标记resourceModel.yml文件。

描述

对资源功能的用户友好的描述,可以在管线UI中显示。这是可选的。

平台

定义节点的操作系统。支持Linux和Windows操作系统。

这个标记是可选的,如果没有指定这个标记,Linux就是默认的操作系统。

标签 使用说明 必需的/可选
操作系统 操作系统。支持Linux和Windows操作系统。 可选
操作系统实例
平台:# optional—os: Linux—os: Windows

配置

开始一个属性定义块。每个属性定义都以属性的名称开头(仅限字母,区分大小写),后面跟着这些从属标记:

标签 使用说明 必需的/可选
类型 指定内置的或用户定义的数据类型 要求
要求

当设置为真正的,指定该属性为必填项。如果没有提供值,管道同步将失败。

默认是

可选

不可变的

当设置为真正的时,该字段不能更改为初始值。 可选
验证 开始验证规范块。 可选
配置示例
配置:gitProvider:类型:集成必需:true immutable: true #一旦资源被创建,它是不可变的验证:isIntegrationType: SCM #检查,看看什么是集成类型和发布列表以及allowedIntegrationTypes: [GitHub, GitLab] #只允许这些类型的集成fileName:类型:字符串immutable: true #一旦资源被创建,它是不可变的验证:notContains: 'bar'编辑器:类型:字符串[]验证:isRegex:["^[a-z]+$",'i'] #数组中的每个元素都使用此fileDtTm: type: Date scanInterval: type: Int validate: min: 1 max: 60 creds: type: Credential #用户定义的数据类型


userDefinedDataType

开始一组数据类型定义。用户定义数据类型使用验证规则指定属性类型,并可作为类型值使用。

标签 使用说明 必需的/可选
类型 标识此用户定义类型的字符串。必须符合alpha验证(仅限字母)。 要求
配置 开始一个属性定义块。 要求

每个属性定义都以属性的名称开头(仅限字母,区分大小写),后面跟着这些从属标记:

标签 使用说明 必需的/可选
类型 标识内置或用户定义的数据类型财产。 要求
要求

当设置为真正的,指定该属性为必填项。如果没有提供值,管道同步将失败。

默认是

可选
验证 开始验证规范块。 可选
userDefinedDataType例子
userDefinedDataType:—type: Credential #用户自定义数据类型配置:—userName: #第一个属性类型:字符串必需:true validate: isRegex: ["^[a-z]+$",'i'] #从字符串中获得RegExp - password: #第二个属性类型:字符串validate: isRegex: ["^[a-z]+$",'i']

Shell脚本

扩展资源定义可以包括可选的shell脚本,当资源在步骤中用作输入或输出时,将执行这些脚本。这些可能对以下情况有用:

  • 属性的额外验证
  • 测试属性值以触发条件操作

onInput.sh

属性在资源定义的存储库目录中出现时onInput.shShell脚本将在步骤中命名资源时执行input2022世界杯阿根廷预选赛赛程Resources


onInput.sh
test_input() {echo "onInput执行" echo "资源名:$1"}execute_command "test_input %%context.resourceName%%"

onOutput.sh

属性在资源定义的存储库目录中出现时onOutput.shShell脚本将在步骤中命名资源时执行Output2022世界杯阿根廷预选赛赛程Resources


onOutput.sh
test_output() {echo "onOutput "已执行" echo "资源名:$1"}execute_command "test_output %%context.resourceName%%"
  • 没有标签
版权所有©2022 JFrog Ltd.