YAML模式
HelmPublish原生步骤的YAML模式如下:
- name:步骤:- name: type: HelmPublish配置:#继承bash的所有标签;//www.si-fil.com/confluence/display/JFROG/Bash helmVersion: < 2 | 3 > #可选的,默认为2 chartPath: <路径字符串>标记:<选项字符串> #可选的线头:<真|假> #可选的,默认错误lintFlags: <字符串> #可选valueFilePaths: #可选- <路径和文件名> autoPublishBuildInfo: <真|假> #默认错误inputResources: -名称:< GitRepo资源> # outputResources要求:-名称:< HelmChart资源> #需要-名称:< BuildInfo资源> #可选执行:2022世界杯阿根廷预选赛赛程onStart: - echo "准备工作" onSuccess: - echo "Job well done " onFailure: - echo "呃哦,出了点问题" onComplete: #always - echo "清理一些东西"
标签
名字
一个字母数字标识步骤的字符串(允许使用下划线)。
类型
必须HelmPublish
对于这一步,输入:
配置
指定步骤执行环境的所有配置选择。此步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
input2022世界杯阿根廷预选赛赛程Resources |
必须指定一个GitRepo资源,该资源包含Helm图表。 该步骤将打包图表到一个版本化的图表归档文件中。 |
要求 |
output2022世界杯阿根廷预选赛赛程Resources |
必须指定一个HelmChart要更新的资源。的 必须指定BuildInfo资源当 |
要求 可能需要 |
从Bash派生的标签
此外,可以定义这些标签来支持步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
helmVersion |
表示要使用的Helm的主要版本的数字。可以是2或3。默认为2。 | 可选 |
chartPath |
GitRepo中Helm图表的路径 | 要求 |
旗帜 |
命令行选项传递给执掌包命令。 |
可选 |
线头 |
为true时,执行a线头测试以验证图表是否构造良好。 默认为false。 |
可选 |
lintFlags |
选项字符串传递给执掌线头 命令。 |
可选 |
valueFilePaths |
指定将在lint命令中使用的YAML文件值执掌线头命令。 指定文件中的所有环境变量引用将自动替换为匹配的运行时环境变量的值。 |
可选 |
|
当为true时,发布带有Helm图表的构建信息。 默认为false。 |
可选 |
执行
声明要在执行前和执行后阶段执行的shell命令序列的集合:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成时执行的命令 | 可选 |
onFailure |
完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
执行的操作onExecute
阶段是此步骤类型所固有的,并且不能被覆盖。
保留关键字
onExecute
,onStart
,调用onSuccess
,onFailure
,onComplete
是保留关键字。在执行脚本的任何其他上下文中使用这些关键字都可能导致意外行为。
例子
下面的示例展示了如何配置HelmPublish步骤。
使用Helm 3发布到Artifactory
使用Helm 3发布到Artifactory的HelmPublish步骤。
-名称:helmPublishPipeline步骤:-名称:helmPublishStep类型:HelmPublish配置:helmVersion: 3 chartPath: "。输入资源:-名称:gitRep2022世界杯阿根廷预选赛赛程oResource输出资源:-名称:helmChartResource
使用lint和values.yaml
一个带有lint的HelmPublish步骤,使用一个values。在发布Helm图表之前添加的。
-名称:helmPublishPipeline步骤:-名称:helmPublishStep类型:HelmPublish配置:helmVersion: 3 chartPath: "。/myChart" lint: true lintFlags: "——strict" valuefileppaths: - values。输入资源:—名称:g2022世界杯阿根廷预选赛赛程itRepoResource输出资源:—名称:helmChartResource
发布构建信息
发布构建信息的HelmPublish步骤。
-名称:helmPublishPipeline步骤:-名称:helmPublishStep类型:HelmPublish配置:helmVersion: 3 chartPath: "。/myChart" autoPublishBuildInfo: true inputResources: - name: gitRepoResource outputResources: - name: helmChartResource - name: buildInfoResource
使用Helm 2发布到Artifactory
使用Helm 2发布到Artifactory的HelmPublish步骤。
-名称:helmPublishPipeline步骤:-名称:helmPublishStep类型:HelmPublish配置:helmVersion: 2 chartPath: "。输入资源:-名称:gitRep2022世界杯阿根廷预选赛赛程oResource输出资源:-名称:helmChartResource
它是如何工作的
当你使用HelmPublish它是管道中的原生步骤,在后台执行以下功能:
- jfrog rt config(用Artifactory凭证配置jfrog CLI)
- jfrog rt使用(来设置当前默认的Artifactory配置)
- Helm init——仅限客户端(如果Helm版本是2)
- replace_envs(如果绒线是真实的有valuefileppaths,用来替换变量占位符)
- 头盔衬毛(如果衬毛为真)
- 执掌包
- jfrog rt上传(上传Helm图表)
- write_output(更新输出HelmChart资源中的版本)
- jfrog rt build-collect-env(如果autoppublishbuildinfo为true,收集环境变量)
- jfrog rt build-publish(如果autoppublishbuildinfo为true,则发布构建信息)
- write_output(如果autoPublishBuildInfo为true,则更新输出BuildInfo资源中的版本)