YAML模式
HelmDeploy本机步骤的YAML模式如下:
管道:- name:steps: - name: type: HelmDeploy配置:#继承自bash helmVersion: <2 | 3 b> # optional,默认为2 flags: # optional valuefileppaths: # optional - <路径和文件名> releaseName: chartPath: <路径字符串> dryRun: # optional,仅在dryRun成功时部署lint: #升级前的lints图表,默认为false lintFlags: "——strict "测试: #运行helm测试后升级,默认false testFlags:“——并行”集成:- name: # required inputResources: - name: # required ex2022世界杯阿根廷预选赛赛程ecution: onStart: - echo“准备工作…”onSuccess: - echo“工作做得好!”onFailure: - echo“呃哦,出错了”onComplete: #always - echo“清理一些东西”
标签
的名字
一个字母数字字符串(允许使用下划线),用于标识步骤。
类型
必须HelmDeploy
对于这个步骤类型。
配置
指定步骤执行环境的所有配置选择。该步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
集成 |
必须指定Kubernetes集成. | 要求 |
input2022世界杯阿根廷预选赛赛程Resources |
要求 |
此外,可以定义这些标记来支持该步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
helmVersion |
表示要使用的Helm的主要版本的数字。可以是2或3。默认值为2。 | 可选 |
旗帜 |
helm命令中包含的标志字符串。例如:"——set key= ' value ' -f myTestValues.yaml" | 可选 |
valueFilePaths |
对象的——values (-f)选项一起指定YAML文件的值舵安装命令。 指定文件中的所有环境变量引用都将自动替换为匹配的运行时环境变量的值。 |
可选 |
releaseName |
发布名称。类的——name (-n)选项舵安装命令。 |
要求 |
chartPath |
中指定的GitRepo资源中HelmChart的路径input2022世界杯阿根廷预选赛赛程Resources .当指定了HelmChart资源时不要使用。 |
可能需要 |
dryRun |
当真正的,只有在——dry-run install模拟成功时才部署。 默认为false。 |
可选 |
线头 |
当设置为真正的执行一个线头检查图表以找出可能的问题。 默认为false。 |
可选 |
lintFlags |
对象要传递的标志字符串执掌线头 命令。 |
可选 |
测验 |
当设置为真正的执行一个测验为发布运行测试。 默认为false。 |
可选 |
testFlags |
对象要传递的标志字符串执掌测试 命令。 |
可选 |
执行
声明在执行前和执行后阶段执行的shell命令序列集合:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成后执行的命令 | 可选 |
onFailure |
在完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
对象执行的操作onExecute
阶段是此步骤类型固有的,不能被覆盖。
例子
下面的示例展示如何配置HelmDeploy步骤。
Helm 3和HelmChart资源输入
使用Helm 3和HelmChart资源输入的HelmDeploy步骤。
管线:—name: helmDeployPipeline步骤:—name: helmDeployStep type: HelmDeploy configuration: helmVersion: 3 releaseName: myHelmRelease integrations:—name: kubernetes_integration inputResources:—name: 2022世界杯阿根廷预选赛赛程helmChartResource
排练
使用Helm 3和HelmChart资源输入值文件的HelmDeploy步骤,并在部署前进行演练。
管线:—name: helmDeployPipeline步骤:—name: helmDeployStep type: HelmDeploy configuration: helmVersion: 3 releaseName: myHelmRelease dryRun: true valuefileppaths:—values/values1。Yaml - values/values2。yaml集成:—name: kubernetes_integration inputResources:—na2022世界杯阿根廷预选赛赛程me: helmChartResource
GitRepo输入
一个带有GitRepo输入的HelmDeploy步骤,而不是HelmChart和lint和测试命令。
管线:—name: helmDeployPipeline步骤:—name: helmDeployStep type: HelmDeploy configuration: helmVersion: 3 chartPath: "。/myChart" releaseName: myHelmRelease lint: true lintFlags: "--strict" test: true testFlags: "--parallel" valueFilePaths: - values/values1.yaml - values/values2.yaml integrations: - name: kubernetes_integration inputResources: - name: gitRepoResource
执掌2
使用Helm 2的HelmDeploy步骤。
管线:—name: helmDeployPipeline步骤:—name: helmDeployStep type: HelmDeploy configuration: helmVersion: 2 releaseName: myHelmRelease integrations:—name: kubernetes_integration inputResources:—name: 2022世界杯阿根廷预选赛赛程helmChartResource
工作原理
当你使用HelmDeploy管道中的本机步骤,它在后台执行以下功能:
- Helm init—仅面向客户端(如果Helm版本为2)
- jfrog rt配置(如果有一个HelmChart资源输入,使用Artifactory凭证配置jfrog CLI)
- jfrog rt使用(如果有HelmChart资源输入,设置当前默认的Artifactory配置)
- 执掌取回(如果有HelmChart资源输入,Helm版本为2,获取图表)
- 执掌拉(如果有HelmChart资源输入,Helm版本为3,获取图表)
- replace_envs(如果有valuefilepath,替换变量占位符)
- 头盔绒线(如果绒线为真)
- helm—dry-run(如果dryRun为真)
- 舵(部署)
- 头盔测试(如果测试为真)