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