模板源存储库结构
系统模板文件应该按照特定的顺序存储在模板源存储库中上传的;o管道:
- 必须有一个名为模板在存储库的根目录中。
- 在模板目录下,必须有子目录路径的形式:
命名空间/ <名> /<文件>
.
地点:
- 名称空间模板所属的名称。
- 的名字模板的名称。
文件是与模板相关的文件。
命名空间和子目录只能包含字母、下划线和数字。
以下文件可以作为模板的一部分添加:
文件 描述 强制性的/可选 templateDefinition.yml 这应该包含管道定义,并且应该是有效的 yml
文件。强制性的 values.yml.example 使用该文件作为创建值的示例。yml文件。这应该是一个有效的yml文件,用于指定templateDefinition所需的详细信息。yml文件。 可选 readme.md 这应该包含模板的文档。 可选 使用{{gitBranch}}
- 这两个
templateDefintion.yml
而且values.yml
支持内置关键字{{gitBranch}}
.的价值{{gitBranch}}
替换为为其创建管道源的分支。有关更多信息,请参见创建多分支管道. - 当用于条件逻辑或比较逻辑时,
{{gitBranch}}
占位符必须用双引号括起来。
例子:{{if eq "{{gitBranch}}" "master"}}
- 这两个
templateDefinition.yml:这是一个templateDefinition.yml示例。可以对该文件进行编辑,以创建您自己的文件版本。
管线:—name:基本步骤:—name: basic1 type: Bash配置:runtime: type:映像执行:onExecute:—printenv {{. values .foo. cfg . exe—name: basic2 type: Bash configuration: runtime: type: image inputSteps:—name: basic1 execution: onExecute:—printenv {{. values .foo. bar}}。baz}}—name: basic3 type: Bash configuration: runtime: type: image inputSteps:—name: basic2 execution: onExecute:—printenv {{. values .foo. conf . conf . exe动物园}}
values.yml.example:以该文件为例创建values.yml
文件。
artifactoryIntegration: myArtifactoryIntegration GitRepo: name: myGitRepo gitProvider: myGitIntegration path: myorg/myrepo branch: include: master foo: name: bar Image: name: myDockerImage sourceRepository: mySourceRepo Pipeline: name: myDockerPipeline DockerBuild: name: myDockerBuild dockerFileName: Dockerfile dockerImageName: < Image name> DockerPush: targetRepository: docker-local Bash: name: myBashStep
模板功能列表
管道templateDefinition.yml
支持这些舵图样式的功能:
字符串函数:
修剪
,包装
,randAlpha
,复数
等。- 字符串列表函数:
splitList
,sortAlpha
等。
字符串函数的默认值
如果您正在使用字符串函数(例如
trunc
或简写的
),然后确保模板给它一个默认值。
例子:. values。App | default "" | trunc 6 .执行以下命令
- 字符串列表函数:
- 整数数学函数:
添加
,马克斯
,mul
等。- 整数片函数:
直到
,untilStep
- 整数片函数:
- 浮点数学函数:
addf
,maxf
,mulf
等。 - 日期函数:
现在
,日期
等。 - 默认值函数:
默认的
,空
,合并
,fromJson
,toJson
,toPrettyJson
,toRawJson
,三元
- 编码功能:
b64enc
,b64dec
等。 - 列表和列表函数:
列表
,第一个
,uniq
等。 - 字典和字典函数:
得到
,集
,dict
,hasKey
,摘下
,挖
,deepCopy
等。 - 类型转换函数:
atoi
,int64
,toString
等。 - Path和Filepath函数:
基地
,dir
,ext
,清洁
,美国国际安全顾问委员会
,osBase
,osDir
,osExt
,osClean
,osIsAbs
- 流量控制函数:
失败
- 高级功能:
- UUID功能:
uuidv4
- 版本比较函数:
semver
,semverCompare
- 反射:
typeOf
,kindIs
,typeIsLike
等。 - 密码和安全功能:
derivePassword
,sha256sum
,genPrivateKey
等。 - 网络:
getHostByName
- UUID功能:
有关这些函数的详细信息,请参见Sprig函数文档而且模板函数.
不支持的功能
不支持以下功能:
tpl
toToml
toYaml
fromYaml
fromYamlArray
toJson
fromJson
fromJsonArray
查找
expandenv
env
使用条件和循环
您可以通过使用条件和循环进一步增强模板。管道模板支持与Helm图表一起工作的所有条件、循环和变量。
添加系统模板
执行以下步骤添加系统模板。
- 确保templateDefinition.yml而且values.yml文件在适当的存储库中可用。
- 添加一个管理项目集成:
系统模板通过SCM存储库上传到管道。要添加存储库,从添加SCM管理集成管理|管道|集成.有关更多信息,请参见管理集成. - 添加模板源:
去管道|扩展和模板然后点击来源选项卡。点击添加源而且模板添加模板源存储库。 选择管理集成,添加存储库名称和分支,然后单击创建源创建模板源。
T管理集成应该具有对模板源存储库的管理访问权。
管道从模板源中添加所有模板并执行同步,并且新添加或更新的模板作为最新版本在pipeline中可用.如果同步过程中出现错误,则同步失败。
这些模板也被上传到Artifactory。
管理模板
来自新上传的模板源的模板现在可以用于创建管道。有关管理、退出、标记和发布模板的信息,请参见管理管道模板.
使用系统模板创建管道源
执行以下步骤使用系统模板创建管道源:
去管理|管道|管道源,并单击添加管道源,从模板.
- 完成结果模板属性形式:
- 单击选择模板命名空间字段并选择定义所需系统模板的名称空间。
- 单击选择模板名称字段,并选择相应的系统模板。
单击选择模板版本字段并为模板选择相关的版本。
点击下一个并完成结果指定值文件以添加
value.yml
文件。
在文件路径字段,提供值的路径。ymlfile, which contains the values for the system template. By default, the field is set to take the file from the root directory.有关的更多信息指定值文件表单,请参见本节添加管道源在管理管道源.
- 点击创建源完成管道源的添加。
管道模板名称、命名空间、版本和的组合values.yml
解析以创建管道定义。
在管道源同步成功之后,您可以通过导航到左侧导航栏上的My Pipelines并单击来查看新添加的管道管道→我的管道.