Compartir vía


HelmDeploy@0: empaquetar e implementar la tarea gráficos de Helm v0

Use esta tarea para implementar, configurar o actualizar un clúster de Kubernetes en Azure Container Service mediante la ejecución de comandos de Helm.

Use esta tarea para implementar, configurar o actualizar el clúster de Kubernetes en Azure Container Service mediante la ejecución de comandos de Helm.

Syntax

# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
    #azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
    #kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection. 
    #namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace. 
  # Azure Container Registry
    #azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry. 
    #azureResourceGroupForACR: # string. Required when command == save. Resource group. 
    #azureContainerRegistry: # string. Required when command == save. Azure Container Registry. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | '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 == save. Chart Name For Azure Container Registry. 
    #chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry. 
  # TLS
    #enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
    #caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate. 
    #certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate. 
    #privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key. 
  # Advanced
    #tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace. 
    #failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
    #publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
    #azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
    #kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection. 
    #namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace. 
  # Azure Container Registry
    #azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry. 
    #azureResourceGroupForACR: # string. Required when command == save. Resource group. 
    #azureContainerRegistry: # string. Required when command == save. Azure Container Registry. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | 'upgrade'. 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 == save. Chart Name For Azure Container Registry. 
    #chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry. 
  # TLS
    #enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
    #caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate. 
    #certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate. 
    #privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key. 
  # Advanced
    #tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace. 
    #failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
    #publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
  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. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. 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. 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. 
  # 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: true # boolean. Optional. Use when command != login && command != logout && command != package. Fail on Standard Error. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
  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. 
    #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. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. 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. 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. 
  # 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.
# Package and deploy Helm charts v0
# Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
  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. 
    #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. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. 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. 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. 
  # 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.

Entradas

connectionType - Tipo de conexión
string. Necesario cuando command != logout && command != package && command != save. Valores permitidos: Azure Resource Manager, Kubernetes Service Connection y None. Valor predeterminado: Azure Resource Manager.

Especifica el tipo de conexión.

  • Kubernetes Service Connection : especifique Kubernetes Service Connection para conectarse a cualquier clúster de Kubernetes mediante kubeconfig o la cuenta de servicio de Azure. Permite proporcionar un archivo KubeConfig, especificar una cuenta de servicio o importar una instancia de AKS con la opción Suscripción de Azure . La importación de una instancia de AKS con la opción Suscripción de Azure requiere acceso al clúster de Kubernetes en el momento de la configuración de conexión de servicio.
  • Azure Resource Manager: especifique Azure Resource Manager para conectarse a un Azure Kubernetes Service mediante la conexión de servicio de Azure. No tiene acceso al clúster de Kubernetes en el momento de la configuración de la conexión de servicio.
  • None - Use una configuración de Kubernetes creada previamente almacenada localmente.

Para obtener más información, consulte Conexión de servicio en la siguiente sección Comentarios .


connectionType - Tipo de conexión
string. Necesario cuando command != logout && command != package. Valores permitidos: Azure Resource Manager, Kubernetes Service Connection y None. Valor predeterminado: Azure Resource Manager.

Especifica el tipo de conexión.

  • Kubernetes Service Connection : especifique Kubernetes Service Connection para conectarse a cualquier clúster de Kubernetes mediante kubeconfig o la cuenta de servicio de Azure. Permite proporcionar un archivo KubeConfig, especificar una cuenta de servicio o importar una instancia de AKS con la opción Suscripción de Azure . La importación de una instancia de AKS con la opción Suscripción de Azure requiere acceso al clúster de Kubernetes en el momento de la configuración de conexión de servicio.
  • Azure Resource Manager: especifique Azure Resource Manager para conectarse a un Azure Kubernetes Service mediante la conexión de servicio de Azure. No tiene acceso al clúster de Kubernetes en el momento de la configuración de la conexión de servicio.
  • None - Use una configuración de Kubernetes creada previamente almacenada localmente.

Para obtener más información, consulte Conexión de servicio en la siguiente sección Comentarios .


azureSubscription - Suscripción de Azure
Alias de entrada: azureSubscriptionEndpoint. string. Necesario cuando connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nombre de la conexión de servicio de Azure. Especifique una suscripción de Azure que tenga el registro de contenedor.


azureSubscription - Suscripción de Azure
Alias de entrada: azureSubscriptionEndpoint. string. Necesario cuando connectionType = Azure Resource Manager && command != logout && command != package.

Nombre de la conexión de servicio de Azure. Especifique una suscripción de Azure que tenga el registro de contenedor.


azureResourceGroup - Grupo de recursos
string. Necesario cuando connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nombre del grupo de recursos dentro de la suscripción. Especifique un grupo de recursos de Azure.


azureResourceGroup - Grupo de recursos
string. Necesario cuando connectionType = Azure Resource Manager && command != logout && command != package.

Nombre del grupo de recursos dentro de la suscripción. Especifique un grupo de recursos de Azure.


kubernetesCluster - Clúster de Kubernetes
string. Necesario cuando connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nombre del clúster de AKS. Especifique un clúster administrado de Azure.


kubernetesCluster - Clúster de Kubernetes
string. Necesario cuando connectionType = Azure Resource Manager && command != logout && command != package.

Nombre del clúster de AKS. Especifique un clúster administrado de Azure.


useClusterAdmin - Uso de credenciales de administrador de clústeres
boolean. Opcional. Use cuando connectionType = Azure Resource Manager && command != logout && command != package && command != save. Valor predeterminado: false.

Usa credenciales de administrador de clúster en lugar de credenciales de usuario de clúster predeterminadas.


useClusterAdmin - Uso de credenciales de administrador de clústeres
boolean. Opcional. Use cuando connectionType = Azure Resource Manager && command != logout && command != package. Valor predeterminado: false.

Usa credenciales de administrador de clúster en lugar de credenciales de usuario de clúster predeterminadas.


kubernetesServiceConnection - Conexión de Kubernetes Service
Alias de entrada: kubernetesServiceEndpoint. string. Necesario cuando connectionType = Kubernetes Service Connection && command != logout && command != package && command != save.

Especifica una conexión de Kubernetes Service.


kubernetesServiceConnection - Conexión de Kubernetes Service
Alias de entrada: kubernetesServiceEndpoint. string. Necesario cuando connectionType = Kubernetes Service Connection && command != logout && command != package.

Especifica una conexión de Kubernetes Service.


namespace - Nombres
string. Opcional. Use cuando command != logout && command != package && command != save.

Espacio de nombres en el que se ejecutan los kubectl comandos. Si no se especifica, la tarea usa el espacio de nombres predeterminado. Especifique el espacio de nombres de Kubernetes que se va a usar. Puede especificar el espacio de nombres Tiller en la sección avanzada de la tarea o pasando la --tiller-namespace opción como argumento.


namespace - Nombres
string. Opcional. Use cuando command != logout && command != package.

Espacio de nombres en el que se ejecutan los kubectl comandos. Si no se especifica, la tarea usa el espacio de nombres predeterminado. Especifique el espacio de nombres de Kubernetes que se va a usar. Puede especificar el espacio de nombres Tiller en la sección avanzada de la tarea o pasando la --tiller-namespace opción como argumento.


azureSubscriptionForACR - Suscripción de Azure para Container Registry
Alias de entrada: azureSubscriptionEndpointForACR. string. Necesario cuando command == save.

Especifica una suscripción de Azure que tiene el Azure Container Registry.


azureResourceGroupForACR - Grupo de recursos
string. Necesario cuando command == save.

Especifica un grupo de recursos de Azure que tiene container Registry.


azureContainerRegistry - Azure Container Registry
string. Necesario cuando command == save.

Especifica un Azure Container Registry que se va a usar para insertar gráficos de Helm.


command - Comando
string. Obligatorio. Valores permitidos: create, delete, expose, get, installlslogoutlogininitrollbacksavepackage, . uninstallupgrade Valor predeterminado: ls.

Especifica un comando de Helm.


command - Comando
string. Obligatorio. Valores permitidos: create, delete, expose, get, installlslogininitpackagerollbacklogout, , . upgradesave Valor predeterminado: ls.

Especifica un comando de Helm.


command - Comando
string. Obligatorio. Valores permitidos: , , , , , logininstalllslogoutinit, package, , . upgraderollbackgetexposedeletecreate Valor predeterminado: ls.

Especifica un comando de Helm.


chartType - Tipo de gráfico
string. Necesario cuando command == install || command == upgrade. Valores permitidos: Name, FilePath (Ruta de acceso del archivo). Valor predeterminado: Name.

Especifica cómo desea especificar la información del gráfico. Puede proporcionar el nombre del gráfico o la ruta de acceso de carpeta o archivo al gráfico.


chartName - Nombre del gráfico
string. Necesario cuando chartType == Name.

Nombre de la referencia del gráfico que se va a instalar. Puede ser una dirección URL o un nombre de gráfico. Por ejemplo, si el nombre del gráfico es stable/mysql, la tarea ejecuta helm install stable/mysql.


chartPath - Ruta de acceso del gráfico
string. Necesario cuando chartType == FilePath || command == package.

Ruta de acceso al gráfico que se va a instalar. Puede ser una ruta de acceso a un chart empaquetado o una ruta de acceso a un directorio de chart desempaquetado. Por ejemplo, si especifica ./redis, la tarea ejecuta helm install ./redis. Si usa un gráfico que se publica como artefacto, la ruta de acceso será $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME.


chartVersion - Versión
Alias de entrada: version. string. Opcional. Use cuando command == package || command == install || command == upgrade.

Especifica la versión exacta del gráfico que se va a instalar. Si no especifica la versión del gráfico, la tarea instala la versión más reciente. Establezca la versión en el gráfico en esta versión del servidor.


chartVersion - Versión
Alias de entrada: version. string. Opcional. Use cuando command == package.

Especifica la versión exacta del gráfico que se va a instalar. Si no especifica la versión del gráfico, la tarea instala la versión más reciente. Establezca la versión en el gráfico en esta versión del servidor.


releaseName - Nombre de la versión
string. Opcional. Use cuando command == install || command == upgrade.

Nombre de la versión. Si no especifica el nombre de la versión, la tarea genera automáticamente una automáticamente. La releaseName entrada solo es válida para install los comandos y upgrade .


overrideValues - Establecer valores
string. Opcional. Use cuando command == install || command == upgrade.

Especifica valores en la línea de comandos. Esta entrada puede especificar varios valores o independientes con comas: key1=val1,key2=val2.

También puede especificar varios valores delimitándolos con una nueva línea, como se indica a continuación:

  • key1=val1
  • key2=val2

Si tiene un valor que contiene nuevas líneas, use la valueFile opción . De lo contrario, la tarea trata la nueva línea como delimitador. La tarea construye el comando helm mediante estos valores establecidos. Por ejemplo, puede establecer el valor mediante un comando como el siguiente: helm install --set key1=val1 ./redis.


valueFile - Archivo de valor
string. Opcional. Use cuando command == install || command == upgrade.

Especifica los valores de un archivo YAML o una dirección URL. Por ejemplo, especificar myvalues.yaml los resultados en helm install --values=myvals.yaml.


destination - Destino
string. Opcional. Use cuando command == package. Valor predeterminado: $(Build.ArtifactStagingDirectory).

Especifica los valores de un archivo YAML o una dirección URL.


canaryimage - Use la versión de imagen controlada.
boolean. Opcional. Use cuando command == init. Valor predeterminado: false.

Especifica la imagen de Tiller controlado. Use la versión preliminar más reciente de Tiller.


upgradetiller - Actualizar Tiller
boolean. Opcional. Use cuando command == init. Valor predeterminado: true.

Si truees , esta entrada actualiza Tiller si Tiller ya está instalado.


updatedependency - Actualizar dependencia
boolean. Opcional. Use cuando command == install || command == package. Valor predeterminado: false.

Si truees , esta entrada actualiza una actualización de dependencia de Helm antes de instalar el gráfico. Novedades dependencias del requirements.yaml directorio antes del charts/ empaquetado.


save - Salvar
boolean. Opcional. Use cuando command == package. Valor predeterminado: true.

Guarda el gráfico empaquetado en el repositorio de gráficos local cuando se establece en true​.


install - Instale si la versión no está presente.
boolean. Opcional. Use cuando command == upgrade. Valor predeterminado: true.

Si aún no existe una versión con este nombre, esta entrada ejecuta una instalación.


recreate - Vuelva a crear pods.
boolean. Opcional. Use cuando command == upgrade. Valor predeterminado: false.

Realiza el reinicio de pods para el recurso, si procede.


resetValues - Restablecer valores.
boolean. Opcional. Use cuando command == upgrade. Valor predeterminado: false.

Restablece los valores a los valores integrados en el gráfico.


force - Fuerza
boolean. Opcional. Use cuando command == upgrade. Valor predeterminado: false.

Fuerza una actualización de recursos mediante una acción de eliminación o recreación, si es necesario.


waitForExecution - Esperar
boolean. Opcional. Use cuando command == init || command == install || command == upgrade. Valor predeterminado: true.

Bloquea la acción hasta que se complete la ejecución del comando.


arguments - Argumentos
string. Opcional. Use cuando command != login && command != logout.

Opciones de comando de Helm.


enableTls - Habilitación de TLS
boolean. Opcional. Use cuando command != login && command != logout && command != package && command != save. Valor predeterminado: false.

Habilita el uso de SSL entre Helm y Tiller.


enableTls - Habilitación de TLS
boolean. Opcional. Use cuando command != login && command != logout && command != package. Valor predeterminado: false.

Habilita el uso de SSL entre Helm y Tiller.


caCert - Certificado de entidad de certificación
string. Necesario cuando enableTls == true && command != login && command != logout && command != package && command != save.

El certificado de entidad de certificación usado para emitir un certificado para el cliente Tiller y Helm.


caCert - Certificado de entidad de certificación
string. Necesario cuando enableTls == true && command != login && command != logout && command != package.

El certificado de entidad de certificación usado para emitir un certificado para el cliente Tiller y Helm.


certificate - Certificado
string. Necesario cuando enableTls == true && command != login && command != logout && command != package && command != save.

Especifique el certificado Tiller o el certificado de cliente de Helm.


certificate - Certificado
string. Necesario cuando enableTls == true && command != login && command != logout && command != package.

Especifique el certificado Tiller o el certificado de cliente de Helm.


privatekey - Clave
string. Necesario cuando enableTls == true && command != login && command != logout && command != package && command != save.

Especifique la clave Tiller o la clave de cliente de Helm.


privatekey - Clave
string. Necesario cuando enableTls == true && command != login && command != logout && command != package.

Especifique la clave Tiller o la clave de cliente de Helm.


tillernamespace - Espacio de nombres Tiller
string. Opcional. Use cuando command != login && command != logout && command != package && command != save.

Especifique el espacio de nombres de Kubernetes de Tiller.


tillernamespace - Espacio de nombres Tiller
string. Opcional. Use cuando command != login && command != logout && command != package.

Especifique el espacio de nombres de Kubernetes de Tiller.


failOnStderr - Error en el error estándar
boolean. Opcional. Use cuando command != login && command != logout && command != package && command != save. Valor predeterminado: false.

Si esta entrada es true, se produce un error en esta tarea si se escribe algún error en la canalización de errores o si se escribe algún dato en el flujo de error estándar. De lo contrario, la tarea se basa en el código de salida para determinar el error.


failOnStderr - Error en el error estándar
boolean. Opcional. Use cuando command != login && command != logout && command != package. Valor predeterminado: true.

Si esta entrada es true, se produce un error en esta tarea si se escribe algún error en la canalización de errores o si se escribe algún dato en el flujo de error estándar. De lo contrario, la tarea se basa en el código de salida para determinar el error.


publishPipelineMetadata - Publicación de metadatos de canalización
boolean. Opcional. Use cuando command != login && command != logout && command != package && command != save. Valor predeterminado: true.

Si esta entrada es true, la tarea recopila y publica metadatos de implementación.


chartNameForACR - Nombre del gráfico para Azure Container Registry
string. Necesario cuando command == save.

Nombre del gráfico en el Azure Container Registry.


chartPathForACR - Ruta de acceso del gráfico para Azure Container Registry
string. Necesario cuando command == save.

Ruta de acceso del archivo al directorio del gráfico en el Azure Container Registry.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Esta tarea define las siguientes variables de salida, que puede consumir en pasos, trabajos y fases de bajada.

helmExitCode
Código de salida emitido a partir de la ejecución del comando de Helm especificado.

helmOutput
Salida emitida a partir de la ejecución del comando de Helm especificado.

Ninguno.

Comentarios

Use HelmDeploy@0 para implementar, configurar o actualizar un clúster de Kubernetes en Azure Container Service mediante la ejecución de comandos de Helm. Helm es una herramienta que simplifica la implementación y administración de aplicaciones de Kubernetes mediante un formato de empaquetado denominado charts.

Puede definir, compartir, instalar, actualizar y controlar la versión de incluso la aplicación de Kubernetes más compleja mediante Helm.

  • Helm le ayuda a combinar varios manifiestos de Kubernetes (YAML) como servicio, implementaciones, archivos ConfigMap y más en una sola unidad denominada Charts de Helm. No es necesario inventar ni usar una herramienta de plantillas o tokenización.
  • Los charts de Helm le ayudan a administrar dependencias de aplicaciones e implementar, así como a revertir como unidad. Además son fáciles de crear, publicar y compartir con otros equipos de asociados, y también a la hora de controlar su versión.

Azure Pipelines tiene compatibilidad integrada con los charts de Helm:

  • La tarea del instalador de la herramienta Helm se puede usar para instalar la versión correcta de Helm en los agentes.
  • La tarea Empaquetado e implementación de Helm se puede usar para empaquetar la aplicación e implementarla en un clúster de Kubernetes. Puede usar la tarea para instalar o actualizar el espacio de nombres de Tiller a uno de Kubernetes, para conectarse de forma segura a Tiller a través de TLS para implementar charts o para ejecutar cualquier comando de Helm como lint.
  • La tarea de Helm admite la conexión a una instancia de Azure Kubernetes Service mediante una conexión de servicio de Azure. Puede conectarse a cualquier clúster de Kubernetes mediante kubeconfig o una cuenta de servicio.
  • Las implementaciones de Helm se pueden complementar mediante la tarea Kubectl; por ejemplo, create/update, imagepullsecret, etc.

Conexión de servicio

HelmDeploy@0 funciona con dos tipos de conexión de servicio: Azure Resource Manager y Conexión de Kubernetes Service. Consulte Ejemplos para obtener ejemplos sobre cómo configurar estos dos tipos de conexión.

Nota

Una conexión de servicio no es necesaria si ya se ha especificado un recurso de entorno que apunta a un clúster de Kubernetes en la fase de la canalización.

Consideraciones sobre la conexión de Kubernetes Service al acceder a AKS

Puede crear una conexión de servicio de Kubernetes con cualquiera de las siguientes opciones.

  • KubeConfig
  • Cuenta de servicio
  • Suscripción de Azure

Captura de pantalla de la elección de un método de autenticación de conexión de servicio de Kubernetes.

Al seleccionar la opción Suscripción de Azure , Kubernetes debe ser accesible para Azure DevOps en el momento de la configuración de la conexión del servicio. Puede haber varias razones por las que no se puede crear una conexión de servicio, por ejemplo, ha creado un clúster privado o el clúster tiene deshabilitadas las cuentas locales. En estos casos, Azure DevOps no se puede conectar al clúster en el momento de la configuración de la conexión del servicio y verá una pantalla bloqueada Cargando espacios de nombres .

Captura de pantalla de cómo elegir un cuadro de diálogo de autenticación de conexión de servicio de Kubernetes bloqueado en la carga de espacios de nombres.

A partir de Kubernetes 1.24, los tokens de larga duración ya no se crean de forma predeterminada. Kubernetes recomienda no usar tokens de larga duración. Como resultado, las tareas que usan una conexión de servicio de Kubernetes creada con la opción Suscripción de Azure no tienen acceso al token permanente necesario para autenticarse y no pueden acceder al clúster de Kubernetes. Esto también da como resultado el cuadro de diálogo Cargando espacios de nombres inmovilizados.

Uso de la conexión de servicio de Azure Resource Manager para acceder a AKS

Para los clientes de AKS, el tipo de conexión de servicio de Azure Resource Manager proporciona el mejor método para conectarse a un clúster privado o un clúster que tenga deshabilitadas las cuentas locales. Este método no depende de la conectividad del clúster en el momento en que se crea una conexión de servicio. El acceso a AKS se aplaza al entorno de ejecución de canalización, que tiene las siguientes ventajas:

  • El acceso a un clúster de AKS (privado) se puede realizar desde un agente de conjunto de escalado o autohospedado con línea de visión al clúster.
  • Se crea un token para cada tarea que usa una conexión de servicio de Azure Resource Manager. Esto garantiza que se conecta a Kubernetes con un token de corta duración, que es la recomendación de Kubernetes.
  • Se puede acceder a AKS incluso cuando se deshabilitan las cuentas locales.

Preguntas más frecuentes sobre la conexión de servicio

Recibo el siguiente mensaje de error: No se encontró ningún secreto asociado a la cuenta de servicio. ¿Qué pasa?

Usa la opción conexión de servicio de Kubernetes con la suscripción de Azure. Estamos actualizando este método para crear tokens de larga duración. Se espera que esté disponible a mediados de mayo. Sin embargo, se recomienda empezar a usar el tipo de conexión de servicio de Azure y no usar tokens de larga duración según las instrucciones de Kubernetes.

Uso AKS y no quiero cambiar nada, ¿puedo seguir usando tareas con la conexión del servicio Kubernetes?

Estamos actualizando este método para crear tokens de larga duración. Se espera que esté disponible a mediados de mayo. Sin embargo, tenga en cuenta que este enfoque está en contra de las instrucciones de Kubernetes.

Uso las tareas de Kubernetes y la conexión de servicio de Kubernetes, pero no AKS. ¿Debería preocuparme?

Las tareas seguirán funcionando como antes.

¿Se quitará el tipo de conexión del servicio Kubernetes?

Nuestras tareas de Kubernetes funcionan con cualquier clúster de Kubernetes, independientemente de dónde se ejecuten. La conexión del servicio Kubernetes seguirá existiendo.

Soy un cliente de AKS y todo funciona bien, ¿debo actuar?

No es necesario cambiar nada. Si usa la conexión de servicio de Kubernetes y la suscripción de Azure seleccionada durante la creación, debe tener en cuenta las instrucciones de Kubernetes sobre el uso de tokens de larga duración.

Estoy creando un entorno de Kubernetes y no tengo ninguna opción para usar conexiones de servicio.

En caso de que no pueda acceder a AKS durante el tiempo de creación del entorno, puede usar un entorno vacío y establecer la connectionType entrada en una conexión de servicio de Azure Resource Manager.

Tengo AKS configurado con RBAC de Azure Active Directory y mi canalización no funciona. ¿Resolverán estas actualizaciones?

El acceso a Kubernetes cuando AAD RBAC está habilitado no está relacionado con la creación de tokens. Para evitar un aviso interactivo, se admitirá kubelogin en una actualización futura.

Valores de comando

La entrada del comando acepta uno de los siguientes comandos de Helm: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. En la sección Ejemplos se proporcionan ejemplos.

Cada entrada de comando se asigna a un conjunto de entradas de tarea. Los comandos que se asignan a una entrada de tarea se designan en el bloque de sintaxis YAML y en la tabla de entradas de tareas.

Solución de problemas

La tarea HelmDeploy produce el error "unknown flag: --wait" mientras se ejecuta "helm init --wait --client-only" en Helm, versión 3.0.2.

Hay algunos cambios importantes entre Helm 2 y Helm 3. Uno de ellos incluye la eliminación de tiller y, por tanto, ya no se admite el comando helm init. Quitar comando: init cuando se usa Helm 3.0 y versiones posteriores.

Cuando se usa Helm 3, si System.debug está establecido en true y la actualización de Helm es el comando que se usa, se produce un error en la canalización aunque la actualización se haya realizado correctamente.

Se trata de un problema conocido con Helm 3, ya que escribe algunos registros en stderr. La tarea de implementación de Helm se marca como con errores si hay registros en stderr o el código de salida es distinto de cero. Establezca la entrada de la tarea failOnStderr: false para omitir los registros impresos en stderr.

Ejemplos

Azure Resource Manager

En este ejemplo de YAML se muestra cómo se usa Azure Resource Manager para hacer referencia al clúster de Kubernetes. Se usa con uno de los comandos de Helm y los valores adecuados necesarios para el comando:

variables:
  azureSubscriptionEndpoint: Contoso
  azureContainerRegistry: contoso.azurecr.io
  azureResourceGroup: Contoso
  kubernetesCluster: Contoso

- task: HelmDeploy@0
  displayName: Helm deploy
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)

Conexión de servicio de Kubernetes

En este ejemplo de YAML se muestra cómo se usa la conexión del servicio Kubernetes para hacer referencia al clúster de Kubernetes. Se usa con uno de los comandos de Helm y los valores adecuados necesarios para el comando:

- task: HelmDeploy@0
  displayName: Helm deploy
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: Contoso

Comandos

La entrada del comando acepta uno de los siguientes comandos de Helm: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.

En este ejemplo de YAML se muestra el comando ls:

- task: HelmDeploy@0
  displayName: Helm list
  inputs:
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: ls
    arguments: --all

Comando init

En este ejemplo de YAML se muestra el comando init:

- task: HelmDeploy@0
  displayName: Helm init
  inputs:
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: init
    upgradetiller: true
    waitForExecution: true
    arguments: --client-only

Comando install

En este ejemplo de YAML se muestra el comando install:

- task: HelmDeploy@0
  displayName: Helm install
  inputs:
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: install
    chartType: FilePath
    chartPath: Application/charts/sampleapp

Comando package

En este ejemplo de YAML se muestra el comando package:

- task: HelmDeploy@0
  displayName: Helm package
  inputs:
    command: package
    chartPath: Application/charts/sampleapp
    destination: $(Build.ArtifactStagingDirectory)

Comando upgrade

En este ejemplo de YAML se muestra el comando upgrade:

- task: HelmDeploy@0
  displayName: Helm upgrade
  inputs:
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: upgrade
    chartType: filepath
    chartPath: $(Build.ArtifactStagingDirectory)/sampleapp-v0.2.0.tgz
    releaseName: azuredevopsdemo
    install: true
    waitForExecution: false

Comando save

En este ejemplo de YAML se muestra el comando save:

- task: HelmDeploy@0
  displayName: Helm save
  inputs:
    command: save
    chartNameForACR: mycontainerregistry.azurecr.io/helm/hello-world:v1
    chartPathForACR: Application/charts/sampleapp
    azureSubscriptionEndpointForACR: $(azureSubscriptionEndpointForACR)
    azureResourceGroupForACR: $(azureResourceGroupForACR)
    azureContainerRegistry: $(azureContainerRegistry)

Empaquetar y firmar los charts de Helm

En esta sección aprenderá a empaquetar y firmar los charts de Helm en una canalización.

Generar un par de claves privada y pública para firmar el chart de Helm mediante GPG

  1. Descargue GPG.

  2. Inicie el símbolo del sistema en modo de administrador. Ejecute el siguiente comando para generar un par de claves privada y pública para firmar el chart de Helm mediante gpg. Al crear la clave, se le pedirá el nombre de usuario y la dirección de correo electrónico. La "dirección de correo electrónico del nombre" se usa más adelante para asignar un nombre al par de claves privada y pública creado.

    gpg --full-generate-key
    

    Generar clave

  3. Se le pedirá la frase de contraseña. Asigne el valor y haga clic en Aceptar.

    Captura de pantalla que muestra cómo se proporciona la frase de contraseña.

  4. Después de crear la clave, puede ver la lista de claves que contiene tanto claves privadas como públicas mediante el siguiente comando.

    • Para ver la lista de claves privadas

      gpg --list-secret-keys
      

      Claves privadas

    • Para ver la lista de claves públicas

      gpg --list-keys
      

      Claves públicas

  5. Almacene las claves privadas y públicas en dos archivos diferentes con la extensión gpg como se muestra a continuación.

    • Para una clave privada
    gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
    

    Verá el archivo privatekeys.gpg exportado a la ruta de acceso mencionada anteriormente.

    • Para una clave pública
    gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
    

    Verá el archivo publickey.gpg exportado a la ruta de acceso mencionada anteriormente.

En Azure DevOps, guarde el archivo privatekey.gpg en la sección archivos seguros de la biblioteca.

Ejemplo

pool:
  name: Hosted Ubuntu 1604

variables:
  # The below variable should be secure
  HelmKeyPassphrase: contoso@123
  keyName: contoso contoso@microsoft.com
  azureSubscriptionEndpoint: contoso
  azureResourceGroup: contoso
  kubernetesCluster: contoso

steps:
- task: DownloadSecureFile@1
  displayName: Download Secure file
  inputs:
    secureFile: privatekey.gpg
  name: privateKeyRing

- task: HelmInstaller@0
  displayName: Install Helm 2.12.0
  inputs:
    helmVersion: 2.12.0

- task: HelmDeploy@0
  displayName: helm init
  inputs:
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)
    command: init
    arguments: --client-only

- task: HelmDeploy@0
  displayName: helm package
  inputs:
    command: package
    chartPath: Application/charts/sampleapp
    arguments: --sign --key "$(keyName)" --keyring $(privateKeyRing.secureFilePath)
  env:
    HelmKeyPassphrase: $(HelmKeyPassphrase)

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente Todas las versiones de agente admitidas.
Categoría de la tarea: Implementación