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





概述

HelmPublish步骤将Helm图表和相关构建信息从Git repo中的位置发布到Artifactory中的Helm存储库。


此步骤使用执掌包命令来发布Helm文件的集合GitRepoArtifactory。

该步骤可以选择将带有Helm图表的构建信息发布到Artifactory使用autoPublishBuildInfo国旗。

一旦Helm图表发布到Artifactory,它就可以部署到Kubernetes集群使用HelmDeploy

页面内容


YAML模式

HelmPublish本机步骤的YAML模式如下:

HelmPublish
管道:- 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资源autoPublishBuildInfo设置为true。如果JFROG_CLI_BUILD_NAMEJFROG_CLI_BUILD_NUMBER设置为管道或步骤的环境变量,则该名称和/或数字将用于输出BuildInfo。否则,默认buildName而且buildNumberpipeline_name美元而且run_number美元。

要求

可能需要


此外,可以定义这些标记来支持该步骤的本机操作:

从Bash派生的标记

所有本机步骤都派生自Bash的一步。这意味着所有步骤共享来自Bash的相同基本标记集,而本机步骤也有自己的附加标记,这些标记支持该步骤的特定功能。所以熟悉这个很重要Bash步骤定义,因为它是所有其他步骤定义的核心。

标签

使用说明

必需的/可选
helmVersion 表示要使用的Helm的主要版本的数字。可以是2或3。默认值为2。 可选
chartPath giitrepo中通往Helm图表的路径 要求
旗帜

属性的命令行选项执掌包命令。

可选
线头

当为true时,执行线头测试以验证图表是否格式良好。

默认为false。

可选
lintFlags 属性的选项字符串执掌线头命令。 可选
valueFilePaths

指定将在lint命令中使用的值YAML文件执掌线头命令。

指定文件中的所有环境变量引用都将自动替换为匹配的运行时环境变量的值。

可选

autoPublishBuildInfo

当为true时,与Helm图表一起发布构建信息。

默认为false。

可选

执行

声明在执行前和执行后阶段执行的shell命令序列集合:

标签

使用说明

必需的/可选
onStart 在本机操作之前执行的命令 可选
调用onSuccess 成功完成后执行的命令 可选
onFailure 在完成失败时执行的命令 可选
onComplete 在任何补全时执行的命令 可选

对象执行的操作onExecute阶段是此步骤类型固有的,不能被覆盖。


例子

下面的示例展示如何配置HelmPublish步骤。

使用Helm 3发布到Artifactory

使用Helm 3发布到Artifactory的HelmPublish步骤。

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文件。

HelmPublish
管线:—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步骤。

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步骤。

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资源中的版本)
  • 没有标签
版权所有©2022 JFrog Ltd.