HelmDeploy@1 - 打包和部署 Helm 图表 v1 任务
通过运行 helm 命令在 Azure 容器服务中部署、配置和更新 Kubernetes 群集。
语法
# Package and deploy Helm charts v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@1
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Azure Container Registry
#azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == login || command == package. Azure subscription for Container Registry.
#azureResourceGroupForACR: # string. Required when command == login || command == package. Resource group.
#azureContainerRegistry: # string. Required when command == login || command == package. Azure Container Registry.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade' | 'uninstall'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
#chartNameForACR: # string. Required when command == package. Chart Name For Azure Container Registry.
#chartPathForACR: # string. Required when command == package. Chart Path for Azure Container Registry.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
#failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package. Fail on Standard Error. Default: false.
#publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package. Publish pipeline metadata. Default: true.
输入
connectionType
-
连接类型
string
。
command != logout && command != package
时是必需的。 允许的值:Azure Resource Manager
、Kubernetes Service Connection
、None
。 默认值:Azure Resource Manager
。
选择“Azure 资源管理器”以使用 Azure 服务连接连接到 Azure Kubernetes 服务。 选择“Kubernetes 服务连接”以使用 kubeconfig 或服务帐户连接到任何 Kubernetes 群集。
azureSubscription
-
Azure 订阅
输入别名:azureSubscriptionEndpoint
。
string
。
connectionType = Azure Resource Manager && command != logout && command != package
时是必需的。
选择具有 Azure 容器注册表的 Azure 订阅。
azureResourceGroup
-
资源组
string
。
connectionType = Azure Resource Manager && command != logout && command != package
时是必需的。
选择 Azure 资源组。
kubernetesCluster
-
Kubernetes 群集
string
。
connectionType = Azure Resource Manager && command != logout && command != package
时是必需的。
选择 Azure 托管群集。
useClusterAdmin
-
使用群集管理员凭据
boolean
。 自选。 当 connectionType = Azure Resource Manager && command != logout && command != package
时使用。 默认值:false
。
使用群集管理员凭据而不是默认群集用户凭据。
kubernetesServiceConnection
-
Kubernetes 服务连接
输入别名:kubernetesServiceEndpoint
。
string
。
connectionType = Kubernetes Service Connection && command != logout && command != package
时是必需的。
选择 Kubernetes 服务连接。
namespace
-
命名空间
string
。 自选。 当 command != logout && command != package
时使用。
指定要使用的 K8 命名空间。 可以使用 Tiller 命名空间在任务的高级部分中指定,也可以通过将 --tiller-namespace 选项作为参数传递。
azureSubscriptionForACR
-
容器注册表的 Azure 订阅
输入别名:azureSubscriptionEndpointForACR
。
string
。
command == login || command == package
时是必需的。
选择具有 Azure 容器注册表的 Azure 订阅。
azureResourceGroupForACR
-
资源组
string
。
command == login || command == package
时是必需的。
选择具有容器注册表的 Azure 资源组。
azureContainerRegistry
-
Azure 容器注册表
string
。
command == login || command == package
时是必需的。
选择将用于 helm 图表的 Azure 容器注册表。
command
-
命令
string
。 必填。 允许的值:create
、delete
、expose
、get
、init
、install
、login
、logout
、ls
、package
、rollback
、upgrade
、uninstall
。 默认值:ls
。
选择 helm 命令。
chartType
-
图表类型
string
。
command == install || command == upgrade
时是必需的。 允许的值:Name
、FilePath
(文件路径)。 默认值:Name
。
选择要输入图表信息的方式。 可以提供图表的名称或图表的文件夹/文件路径。
chartName
-
图表名称
string
。
chartType == Name
时是必需的。
要安装的图表引用,可以是 URL 或图表名称。 例如,如果图表名称为“stable/mysql”,任务将运行“helm install stable/mysql”。
chartPath
-
图表路径
string
。
chartType == FilePath || command == package
时是必需的。
要安装的图表的路径。 这可以是打包图表的路径,也可以是解包图表目录的路径。 例如,如果指定了“./redis”,任务将运行“helm install ./redis”。
chartVersion
-
版本
输入别名:version
。
string
。 自选。 当 command == package || command == install || command == upgrade
时使用。
指定要安装的确切图表版本。 如果未指定,则安装最新版本。 将图表上的版本设置为此 semver 版本。
releaseName
-
发布名称
string
。 自选。 当 command == install || command == upgrade
时使用。
发布名称。 如果未指定,它将自动生成一个。
overrideValues
-
设置值
string
。 自选。 当 command == install || command == upgrade
时使用。
在命令行上设置值(可以使用逗号或换行符指定多个或单独的值:key1=val1,key2=val2 或
key1=val1
key2=val2
). 该任务将使用这些设置值来构造 helm 命令。 例如,helm 安装 --set key1=val1 ./redis。
valueFile
-
值文件
string
。 自选。 当 command == install || command == upgrade
时使用。
在 YAML 文件或 URL 中指定值。 例如,指定 myvalues.yaml 将导致“helm install --values=myvals.yaml”。
destination
-
目标
string
。 自选。 当 command == package
时使用。 默认值:$(Build.ArtifactStagingDirectory)
。
在 YAML 文件或 URL 中指定值。
canaryimage
-
使用 canary 映像版本。
boolean
。 自选。 当 command == init
时使用。 默认值:false
。
使用 Canary Tiller 映像,这是 Tiller 的最新预发行版本。
upgradetiller
-
升级 Tiller
boolean
。 自选。 当 command == init
时使用。 默认值:true
。
如果已安装 Tiller,请升级。
updatedependency
-
更新依赖项
boolean
。 自选。 当 command == install || command == package
时使用。 默认值:false
。
在安装图表之前运行 helm 依赖项更新。 在打包之前,将依赖项从“requirements.yaml”更新为 dir“charts/”。
save
-
保存
boolean
。 自选。 当 command == package
时使用。 默认值:true
。
将打包的图表保存到本地图表存储库(默认值 true)。
install
-
安装(如果版本不存在)。
boolean
。 自选。 当 command == upgrade
时使用。 默认值:true
。
如果此名称的发布尚不存在,请运行安装。
recreate
-
重新创建 Pod。
boolean
。 自选。 当 command == upgrade
时使用。 默认值:false
。
如果适用,请为资源执行 Pod 重启。
resetValues
-
重置值。
boolean
。 自选。 当 command == upgrade
时使用。 默认值:false
。
将值重置为图表中内置的值。
force
-
Force
boolean
。 自选。 当 command == upgrade
时使用。 默认值:false
。
根据需要通过删除/重新创建强制更新资源。
waitForExecution
-
等待
boolean
。 自选。 当 command == init || command == install || command == upgrade
时使用。 默认值:true
。
阻止直到命令执行完成。
arguments
-
参数
string
。 自选。 当 command != login && command != logout
时使用。
Helm 命令选项。
enableTls
-
启用 TLS
boolean
。 自选。 当 command != login && command != logout && command != package
时使用。 默认值:false
。
允许在 Helm 和 Tiller 之间使用 SSL。
caCert
-
CA 证书
string
。
enableTls == true && command != login && command != logout && command != package
时是必需的。
用于颁发 tiller 和 helm 客户端证书的 CA 证书。
certificate
-
证书
string
。
enableTls == true && command != login && command != logout && command != package
时是必需的。
指定 Tiller 证书或 Helm 客户端证书。
privatekey
-
密钥
string
。
enableTls == true && command != login && command != logout && command != package
时是必需的。
指定 Tiller 密钥或 Helm 客户端密钥。
tillernamespace
-
Tiller 命名空间
string
。 自选。 当 command != login && command != logout && command != package
时使用。
指定 tiller 的 K8 命名空间。
标准错误
boolean
。 自选。 当 command != login && command != logout && command != package
时使用。 默认值:false
。
如果为 true,则如果任何错误写入错误管道,或者将任何数据写入标准错误流,则此任务将失败。 否则,任务将依赖于退出代码来确定失败。
publishPipelineMetadata
-
发布管道元数据
boolean
。 自选。 当 command != login && command != logout && command != package
时使用。 默认值:true
。
如果为 true,任务将收集和发布部署元数据。
Azure 容器注册表的 chartNameForACR
- 图表名称
string
。
command == package
时是必需的。
图表名称,图表将存储在 Azure 容器注册表中。
Azure 容器注册表 的
string
。
command == package
时是必需的。
图表目录的路径。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
言论
HelmDeploy@1
任务的主要更改是删除 helm 图表命令:
- 已删除
helm chart
子命令 - 已删除
helm chart push
- 已删除
helm chart remove
-
helm chart save
已替换为helm package
- 已删除
helm save