Compartir vía


HelmDeploy@1: tarea Empaquetar e implementar gráficos de Helm v1

Implemente, configure y actualice un clúster de Kubernetes en Azure Container Service mediante la ejecución de comandos de Helm.

Sintaxis

# 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.

Entradas

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

Seleccione "Azure Resource Manager" para conectarse a una instancia de Azure Kubernetes Service mediante la conexión de servicio de Azure. Seleccione "Conexión de servicio de Kubernetes" para conectarse a cualquier clúster de Kubernetes mediante kubeconfig o cuenta de servicio.


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

Seleccione una suscripción de Azure, que tiene Azure Container Registry.


del grupo de recursos de
string. Obligatorio cuando connectionType = Azure Resource Manager && command != logout && command != package.

Seleccione un grupo de recursos de Azure.


kubernetesCluster - del clúster de Kubernetes
string. Obligatorio cuando connectionType = Azure Resource Manager && command != logout && command != package.

Seleccione 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. Valor predeterminado: false.

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


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

Seleccione una conexión de servicio de Kubernetes.


namespace - espacio de nombres
string. Opcional. Use cuando command != logout && command != package.

Especifique el espacio de nombres K8 que se va a usar. Use el espacio de nombres Tiller se puede especificar en la sección avanzada de la tarea o pasando la opción --tiller-namespace como argumento.


azureSubscriptionForACR - suscripción de Azure para container Registry
Alias de entrada: azureSubscriptionEndpointForACR. string. Obligatorio cuando command == login || command == package.

Seleccione una suscripción de Azure, que tiene Azure Container Registry.


del grupo de recursos de
string. Obligatorio cuando command == login || command == package.

Seleccione un grupo de recursos de Azure, que tiene el registro de contenedor.


azureContainerRegistry - azure Container Registry
string. Obligatorio cuando command == login || command == package.

Seleccione una instancia de Azure Container Registry que se usará para los gráficos de Helm.


command - comando
string. Obligatorio. Valores permitidos: create, delete, expose, get, init, install, login, logout, ls, package, rollback, upgradeuninstall. Valor predeterminado: ls.

Seleccione un comando de Helm.


tipo de gráfico de
string. Obligatorio cuando command == install || command == upgrade. Valores permitidos: Name, FilePath (ruta de acceso del archivo). Valor predeterminado: Name.

Seleccione cómo desea escribir 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.


nombre del gráfico de
string. Obligatorio cuando chartType == Name.

Referencia de 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 ejecutará "helm install stable/mysql".


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

Ruta de acceso al gráfico que se va a instalar. Puede ser una ruta de acceso a un gráfico empaquetado o una ruta de acceso a un directorio de gráficos desempaquetado. Por ejemplo, si se especifica "./redis", la tarea ejecutará "helm install ./redis".


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

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


nombre de la versión de
string. Opcional. Use cuando command == install || command == upgrade.

Nombre de la versión. Si no se especifica, generará automáticamente uno automáticamente.


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

Establecer valores en la línea de comandos (puede especificar varios o independientes valores con comas o nuevas líneas: key1=val1,key2=val2 o
key1=val1
key2=val2
). La tarea construirá el comando helm mediante estos valores establecidos. Por ejemplo, helm install --set key1=val1 ./redis.


archivo de valor de
string. Opcional. Use cuando command == install || command == upgrade.

Especifique valores en un archivo YAML o una dirección URL. Por ejemplo, especificar myvalues.yaml dará como resultado "helm install --values=myvals.yaml".


de destino de
string. Opcional. Use cuando command == package. Valor predeterminado: $(Build.ArtifactStagingDirectory).

Especifique valores en un archivo YAML o una dirección URL.


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

Use la imagen canary Tiller, la versión preliminar más reciente de Tiller.


upgradetiller - actualizar tiller
boolean. Opcional. Use cuando command == init. Valor predeterminado: true.

Actualice si Tiller ya está instalado.


updatedependency - actualizar de dependencias
boolean. Opcional. Use cuando command == install || command == package. Valor predeterminado: false.

Ejecute la actualización de dependencias de Helm antes de instalar el gráfico. Actualice las dependencias de "requirements.yaml" a dir "charts/" antes del empaquetado.


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

Guarde el gráfico empaquetado en el repositorio de gráficos local (valor predeterminado true).


install - Instalar 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, ejecute una instalación.


recreate - Volver 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.

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


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

Forzar la actualización de recursos a través de eliminar o volver a crear si es necesario.


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

Bloquear hasta que se complete la ejecución del comando.


argumentos de
string. Opcional. Use cuando command != login && command != logout.

Opciones de comando de Helm.


enableTls - Habilitar TLS
boolean. Opcional. Use cuando command != login && command != logout && command != package. Valor predeterminado: false.

Habilita el uso de SSL entre Helm y Tiller.


de certificados de entidad de certificación de
string. Obligatorio cuando enableTls == true && command != login && command != logout && command != package.

Certificado de ENTIDAD de certificación usado para emitir un certificado para el cliente tiller y helm.


certificate - certificado
string. Obligatorio cuando enableTls == true && command != login && command != logout && command != package.

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


de clave de
string. Obligatorio cuando enableTls == true && command != login && command != logout && command != package.

Especifique Tiller Key o helm client key (Clave tiller o clave de cliente de Helm).


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

Especifique el espacio de nombres K8 de tiller.


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

Si esto es cierto, esta tarea producirá un error 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 basará 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. Valor predeterminado: true.

Si esto es true, la tarea recopilará y publicará metadatos de implementación.


nombre del gráfico de chartNameForACR - para azure Container Registry
string. Obligatorio cuando command == package.

Nombre del gráfico con el que se almacenará el gráfico en Azure Container Registry.


ruta de acceso del gráfico de chartPathForACR - para azure Container Registry
string. Obligatorio cuando command == package.

Ruta de acceso al directorio del gráfico.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte 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

Observaciones

Un cambio importante para HelmDeploy@1 tarea es que se quitan los comandos del gráfico de Helm:

  • Se ha quitado el subcomando helm chart
  • helm chart push se ha quitado
  • helm chart remove se ha quitado
  • helm chart save se ha reemplazado por helm package
  • helm save se ha quitado

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Ninguno
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquier
variables settable Cualquier
Versión del agente Todas las versiones de agente admitidas.
Categoría de tarea Desplegar