Partager via


HelmDeploy@0 - Tâche Empaqueter et déployer des graphiques Helm v0

Utilisez cette tâche pour déployer, configurer ou mettre à jour un cluster Kubernetes dans Azure Container Service en exécutant des commandes helm.

Utilisez cette tâche pour déployer, configurer ou mettre à jour votre cluster Kubernetes dans Azure Container Service en exécutant des commandes 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.

Entrées

connectionType - Type de connexion
string. Nécessaire lorsque command != logout && command != package && command != save. Valeurs autorisées : Azure Resource Manager, Kubernetes Service Connection, None. Valeur par défaut : Azure Resource Manager.

Spécifie le type de connexion.

  • Kubernetes Service Connection - Spécifiez Kubernetes Service Connection pour vous connecter à n’importe quel cluster Kubernetes à l’aide kubeconfig de ou du compte de service Azure. Vous permet de fournir un fichier KubeConfig, de spécifier un compte de service ou d’importer un instance AKS avec l’option Abonnement Azure. L’importation d’un instance AKS avec l’option Abonnement Azure nécessite un accès au cluster Kubernetes au moment de la configuration de la connexion de service.
  • Azure Resource Manager- Spécifiez Azure Resource Manager la connexion à un Azure Kubernetes Service à l’aide de la connexion de service Azure. N’accède pas au cluster Kubernetes au moment de la configuration de la connexion de service.
  • None - Utilisez une configuration Kubernetes précréée stockée localement.

Pour plus d’informations, consultez Connexion au service dans la section Remarques suivante.


connectionType - Type de connexion
string. Nécessaire lorsque command != logout && command != package. Valeurs autorisées : Azure Resource Manager, Kubernetes Service Connection, None. Valeur par défaut : Azure Resource Manager.

Spécifie le type de connexion.

  • Kubernetes Service Connection - Spécifiez Kubernetes Service Connection pour vous connecter à n’importe quel cluster Kubernetes à l’aide kubeconfig de ou du compte de service Azure. Vous permet de fournir un fichier KubeConfig, de spécifier un compte de service ou d’importer un instance AKS avec l’option Abonnement Azure. L’importation d’un instance AKS avec l’option Abonnement Azure nécessite un accès au cluster Kubernetes au moment de la configuration de la connexion de service.
  • Azure Resource Manager- Spécifiez Azure Resource Manager la connexion à un Azure Kubernetes Service à l’aide de la connexion de service Azure. N’accède pas au cluster Kubernetes au moment de la configuration de la connexion de service.
  • None - Utilisez une configuration Kubernetes précréée stockée localement.

Pour plus d’informations, consultez Connexion au service dans la section Remarques suivante.


azureSubscription - Abonnement Azure
Alias d’entrée : azureSubscriptionEndpoint. string. Nécessaire lorsque connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nom de la connexion de service Azure. Spécifiez un abonnement Azure qui contient votre registre de conteneurs.


azureSubscription - Abonnement Azure
Alias d’entrée : azureSubscriptionEndpoint. string. Nécessaire lorsque connectionType = Azure Resource Manager && command != logout && command != package.

Nom de la connexion de service Azure. Spécifiez un abonnement Azure qui contient votre registre de conteneurs.


azureResourceGroup - Groupe de ressources
string. Nécessaire lorsque connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nom du groupe de ressources au sein de l’abonnement. Spécifiez un groupe de ressources Azure.


azureResourceGroup - Groupe de ressources
string. Nécessaire lorsque connectionType = Azure Resource Manager && command != logout && command != package.

Nom du groupe de ressources au sein de l’abonnement. Spécifiez un groupe de ressources Azure.


kubernetesCluster - Cluster Kubernetes
string. Nécessaire lorsque connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nom du cluster AKS. Spécifiez un cluster managé Azure.


kubernetesCluster - Cluster Kubernetes
string. Nécessaire lorsque connectionType = Azure Resource Manager && command != logout && command != package.

Nom du cluster AKS. Spécifiez un cluster managé Azure.


useClusterAdmin - Utiliser les informations d’identification de l’administrateur de cluster
boolean. facultatif. Utilisez quand connectionType = Azure Resource Manager && command != logout && command != package && command != save. Valeur par défaut : false.

Utilise les informations d’identification de l’administrateur de cluster au lieu des informations d’identification utilisateur du cluster par défaut.


useClusterAdmin - Utiliser les informations d’identification de l’administrateur de cluster
boolean. facultatif. Utilisez quand connectionType = Azure Resource Manager && command != logout && command != package. Valeur par défaut : false.

Utilise les informations d’identification de l’administrateur de cluster au lieu des informations d’identification utilisateur du cluster par défaut.


kubernetesServiceConnection - Connexion Kubernetes Service
Alias d’entrée : kubernetesServiceEndpoint. string. Nécessaire lorsque connectionType = Kubernetes Service Connection && command != logout && command != package && command != save.

Spécifie une connexion Kubernetes Service.


kubernetesServiceConnection - Connexion Kubernetes Service
Alias d’entrée : kubernetesServiceEndpoint. string. Nécessaire lorsque connectionType = Kubernetes Service Connection && command != logout && command != package.

Spécifie une connexion Kubernetes Service.


namespace - Noms
string. facultatif. Utilisez quand command != logout && command != package && command != save.

Espace de noms sur lequel vous exécutez les kubectl commandes. Si elle n’est pas spécifiée, la tâche utilise l’espace de noms par défaut. Spécifiez l’espace de noms Kubernetes à utiliser. Vous pouvez spécifier l’espace de noms Tiller dans la section avancée de la tâche ou en passant l’option --tiller-namespace en tant qu’argument.


namespace - Noms
string. facultatif. Utilisez quand command != logout && command != package.

Espace de noms sur lequel vous exécutez les kubectl commandes. Si elle n’est pas spécifiée, la tâche utilise l’espace de noms par défaut. Spécifiez l’espace de noms Kubernetes à utiliser. Vous pouvez spécifier l’espace de noms Tiller dans la section avancée de la tâche ou en passant l’option --tiller-namespace en tant qu’argument.


azureSubscriptionForACR - Abonnement Azure pour Container Registry
Alias d’entrée : azureSubscriptionEndpointForACR. string. Nécessaire lorsque command == save.

Spécifie un abonnement Azure qui a votre Azure Container Registry.


azureResourceGroupForACR - Groupe de ressources
string. Nécessaire lorsque command == save.

Spécifie un groupe de ressources Azure qui contient votre registre de conteneurs.


azureContainerRegistry - Azure Container Registry
string. Nécessaire lorsque command == save.

Spécifie un Azure Container Registry à utiliser pour envoyer (push) des graphiques Helm.


command - Commande
string. Obligatoire. Valeurs autorisées : create, delete, expose, get, installinitloginlogout, . lspackagerollbacksaveupgradeuninstall Valeur par défaut : ls.

Spécifie une commande Helm.


command - Commande
string. Obligatoire. Valeurs autorisées : create, delete, expose, get, installinitloginlogoutls, package, . rollbacksaveupgrade Valeur par défaut : ls.

Spécifie une commande Helm.


command - Commande
string. Obligatoire. Valeurs autorisées : create, delete, expose, get, installlogoutlogininit, , ls, package, , rollback, . upgrade Valeur par défaut : ls.

Spécifie une commande Helm.


chartType - Type de graphique
string. Nécessaire lorsque command == install || command == upgrade. Valeurs autorisées : Name, FilePath (Chemin d’accès au fichier). Valeur par défaut : Name.

Spécifie la façon dont vous souhaitez entrer des informations de graphique. Vous pouvez fournir le nom du graphique ou du chemin d’accès au dossier/fichier du graphique.


chartName - Nom du graphique
string. Nécessaire lorsque chartType == Name.

Nom de la référence de graphique à installer. Il peut s’agir d’une URL ou d’un nom de graphique. Par exemple, si le nom du graphique est stable/mysql, la tâche exécute helm install stable/mysql.


chartPath - Chemin d’accès au graphique
string. Nécessaire lorsque chartType == FilePath || command == package.

Chemin d’accès au graphique à installer. Il peut s’agir d’un chemin d’accès au chart empaqueté ou d’un chemin d’accès à un répertoire de chart déballé. Par exemple, si vous spécifiez ./redis, la tâche exécute helm install ./redis. Si vous consommez un graphique publié en tant qu’artefact, le chemin d’accès est $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME.


chartVersion - Version
Alias d’entrée : version. string. facultatif. Utilisez quand command == package || command == install || command == upgrade.

Spécifie la version exacte du graphique à installer. Si vous ne spécifiez pas la version du graphique, la tâche installe la dernière version. Définissez la version sur le graphique sur cette version semver.


chartVersion - Version
Alias d’entrée : version. string. facultatif. Utilisez quand command == package.

Spécifie la version exacte du graphique à installer. Si vous ne spécifiez pas la version du graphique, la tâche installe la dernière version. Définissez la version sur le graphique sur cette version semver.


releaseName - Nom de la version
string. facultatif. Utilisez quand command == install || command == upgrade.

Nom de la version. Si vous ne spécifiez pas le nom de la version, la tâche en génère automatiquement un pour vous. L’entrée releaseName est valide uniquement pour install les commandes et upgrade .


overrideValues - Définir des valeurs
string. facultatif. Utilisez quand command == install || command == upgrade.

Spécifie des valeurs sur la ligne de commande. Cette entrée peut spécifier plusieurs valeurs ou des valeurs distinctes avec des virgules : key1=val1,key2=val2.

Vous pouvez également spécifier plusieurs valeurs en les délimitant avec une nouvelle ligne, comme suit :

  • key1=val1
  • key2=val2

Si vous avez une valeur qui contient de nouvelles lignes, utilisez l’option valueFile . Sinon, la tâche traite la nouvelle ligne comme un délimiteur. La tâche construit la commande Helm à l’aide de ces valeurs définies. Par exemple, vous pouvez définir la valeur à l’aide d’une commande comme suit : helm install --set key1=val1 ./redis.


valueFile - Fichier de valeurs
string. facultatif. Utilisez quand command == install || command == upgrade.

Spécifie des valeurs dans un fichier YAML ou une URL. Par exemple, la spécification des myvalues.yaml résultats dans helm install --values=myvals.yaml.


destination - Destination
string. facultatif. Utilisez quand command == package. Valeur par défaut : $(Build.ArtifactStagingDirectory).

Spécifie des valeurs dans un fichier YAML ou une URL.


canaryimage - Utilisez la version d’image canary.
boolean. facultatif. Utilisez quand command == init. Valeur par défaut : false.

Spécifie l’image canary Tiller. Utilisez la dernière version préliminaire de Tiller.


upgradetiller - Mettre à niveau le tiller
boolean. facultatif. Utilisez quand command == init. Valeur par défaut : true.

Si true, cette entrée met à niveau Tiller si Tiller est déjà installé.


updatedependency - Mettre à jour la dépendance
boolean. facultatif. Utilisez quand command == install || command == package. Valeur par défaut : false.

Si la valeur est true, cette entrée met à jour une mise à jour de dépendance Helm avant d’installer le graphique. Mises à jour dépendances de requirements.yaml vers le répertoire avant l’empaquetagecharts/.


save - Sauvegarder
boolean. facultatif. Utilisez quand command == package. Valeur par défaut : true.

Enregistre le graphique empaqueté dans le référentiel de graphiques local lorsqu’il est défini sur true​.


install - Installez si la version n’est pas présente.
boolean. facultatif. Utilisez quand command == upgrade. Valeur par défaut : true.

Si une version de ce nom n’existe pas encore, cette entrée exécute une installation.


recreate - Recréer des pods.
boolean. facultatif. Utilisez quand command == upgrade. Valeur par défaut : false.

Effectue le redémarrage des pods pour la ressource, le cas échéant.


resetValues - Réinitialiser les valeurs.
boolean. facultatif. Utilisez quand command == upgrade. Valeur par défaut : false.

Réinitialise les valeurs intégrées dans le graphique.


force - Force
boolean. facultatif. Utilisez quand command == upgrade. Valeur par défaut : false.

Force la mise à jour d’une ressource via une action de suppression ou de recréation, si nécessaire.


waitForExecution - Attendre
boolean. facultatif. Utilisez quand command == init || command == install || command == upgrade. Valeur par défaut : true.

Bloque l’action jusqu’à la fin de l’exécution de la commande.


arguments - Arguments
string. facultatif. Utilisez quand command != login && command != logout.

Options de commande Helm.


enableTls - Activer TLS
boolean. facultatif. Utilisez quand command != login && command != logout && command != package && command != save. Valeur par défaut : false.

Permet d’utiliser SSL entre Helm et Tiller.


enableTls - Activer TLS
boolean. facultatif. Utilisez quand command != login && command != logout && command != package. Valeur par défaut : false.

Permet d’utiliser SSL entre Helm et Tiller.


caCert - Certificat d’autorité de certification
string. Nécessaire lorsque enableTls == true && command != login && command != logout && command != package && command != save.

Certificat d’autorité de certification utilisé pour émettre un certificat pour le client Tiller et Helm.


caCert - Certificat d’autorité de certification
string. Nécessaire lorsque enableTls == true && command != login && command != logout && command != package.

Certificat d’autorité de certification utilisé pour émettre un certificat pour le client Tiller et Helm.


certificate - Certificat
string. Nécessaire lorsque enableTls == true && command != login && command != logout && command != package && command != save.

Spécifiez le certificat Tiller ou le certificat client Helm.


certificate - Certificat
string. Nécessaire lorsque enableTls == true && command != login && command != logout && command != package.

Spécifiez le certificat Tiller ou le certificat client Helm.


privatekey - Clé
string. Nécessaire lorsque enableTls == true && command != login && command != logout && command != package && command != save.

Spécifiez la clé Tiller ou la clé client Helm.


privatekey - Clé
string. Nécessaire lorsque enableTls == true && command != login && command != logout && command != package.

Spécifiez la clé Tiller ou la clé client Helm.


tillernamespace - Espace de noms Tiller
string. facultatif. Utilisez quand command != login && command != logout && command != package && command != save.

Spécifiez l’espace de noms Kubernetes de Tiller.


tillernamespace - Espace de noms Tiller
string. facultatif. Utilisez quand command != login && command != logout && command != package.

Spécifiez l’espace de noms Kubernetes de Tiller.


failOnStderr - Échec en cas d’erreur standard
boolean. facultatif. Utilisez quand command != login && command != logout && command != package && command != save. Valeur par défaut : false.

Si cette entrée est true, cette tâche échoue si des erreurs sont écrites dans le pipeline d’erreur ou si des données sont écrites dans le flux d’erreur standard. Sinon, la tâche s’appuie sur le code de sortie pour déterminer l’échec.


failOnStderr - Échec en cas d’erreur standard
boolean. facultatif. Utilisez quand command != login && command != logout && command != package. Valeur par défaut : true.

Si cette entrée est true, cette tâche échoue si des erreurs sont écrites dans le pipeline d’erreur ou si des données sont écrites dans le flux d’erreur standard. Sinon, la tâche s’appuie sur le code de sortie pour déterminer l’échec.


publishPipelineMetadata - Publier des métadonnées de pipeline
boolean. facultatif. Utilisez quand command != login && command != logout && command != package && command != save. Valeur par défaut : true.

Si cette entrée est true, la tâche collecte et publie les métadonnées de déploiement.


chartNameForACR - Nom du graphique pour Azure Container Registry
string. Nécessaire lorsque command == save.

Nom du graphique dans le Azure Container Registry.


chartPathForACR - Chemin du graphique pour Azure Container Registry
string. Nécessaire lorsque command == save.

Chemin d’accès au fichier du répertoire de graphique dans le Azure Container Registry.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Cette tâche définit les variables de sortie suivantes, que vous pouvez utiliser dans les étapes, les travaux et les étapes en aval.

helmExitCode
Code de sortie émis par l’exécution de la commande Helm spécifiée.

helmOutput
Sortie émise par l’exécution de la commande Helm spécifiée.

Aucun.

Notes

Utilisez HelmDeploy@0 pour déployer, configurer ou mettre à jour un cluster Kubernetes dans Azure Container Service en exécutant des commandes Helm. Helm est un outil qui simplifie le déploiement et la gestion des applications Kubernetes à l’aide d’un format d’empaquetage appelé charts.

Vous pouvez définir, versionner, partager, installer et mettre à niveau les applications Kubernetes, même les plus complexes, avec Helm.

  • Helm vous aide à combiner plusieurs manifestes Kubernetes (yaml), tels que service, déploiements, configmaps, etc. dans une seule unité appelée Helm Charts. Vous n’avez pas besoin d’inventer ou d’utiliser un outil de création de jetons ou de templating.
  • Helm Charts vous aide à gérer les dépendances d’application et à effectuer des déploiements et des restaurations en tant qu’unité. Ils sont également faciles à créer, à versionner, à publier et à partager avec d’autres équipes partenaires.

Azure Pipelines prend en charge les charts Helm intégrés :

  • La tâche d’installation de l’outil Helm peut être utilisée pour installer la bonne version de Helm sur les agents.
  • La tâche d’empaquetage et de déploiement Helm peut être utilisée pour empaqueter l’application et la déployer sur un cluster Kubernetes. Vous pouvez utiliser la tâche pour installer ou mettre à jour Tiller vers un espace de noms Kubernetes, pour vous connecter en toute sécurité à Tiller via TLS pour déployer des charts, ou pour exécuter n’importe quelle commande Helm, telle que lint.
  • La tâche Helm prend en charge la connexion à un Azure Kubernetes Service à l’aide d’une connexion de service Azure. Vous pouvez vous connecter à n’importe quel cluster Kubernetes à l’aide de kubeconfig ou d’un compte de service.
  • Les déploiements Helm peuvent être complétés à l’aide de la tâche Kubectl ; par exemple, créer/mettre à jour, imagepullsecret et autres.

Connexion du service

HelmDeploy@0 fonctionne avec deux types de connexion de service : Azure Resource Manager et Kubernetes Service Connection. Consultez Exemples pour obtenir des exemples sur la configuration de ces deux types de connexion.

Notes

Une connexion de service n’est pas nécessaire si une ressource d’environnement qui pointe vers un cluster Kubernetes a déjà été spécifiée dans l’étape du pipeline.

Considérations relatives à la connexion au service Kubernetes lors de l’accès à AKS

Vous pouvez créer une connexion de service Kubernetes avec l’une des options suivantes.

  • KubeConfig
  • Compte Service Account
  • Abonnement Azure

Capture d’écran du choix d’une méthode d’authentification de connexion de service Kubernetes.

Lorsque vous sélectionnez l’option Abonnement Azure , Kubernetes doit être accessible à Azure DevOps au moment de la configuration de la connexion de service. Il peut y avoir différentes raisons pour lesquelles une connexion de service ne peut pas être créée, par exemple vous avez créé un cluster privé ou si les comptes locaux du cluster sont désactivés. Dans ce cas, Azure DevOps ne peut pas se connecter à votre cluster au moment de la configuration de la connexion de service et vous verrez un écran Chargement des espaces de noms bloqué.

Capture d’écran de la sélection d’une boîte de dialogue d’authentification de connexion de service Kubernetes bloquée lors du chargement des espaces de noms.

À compter de Kubernetes 1.24, les jetons à longue durée de vie ne sont plus créés par défaut. Kubernetes recommande de ne pas utiliser de jetons de longue durée. Par conséquent, les tâches utilisant une connexion de service Kubernetes créée avec l’option Abonnement Azure n’ont pas accès au jeton permanent requis pour l’authentification et ne peuvent pas accéder à votre cluster Kubernetes. Cela entraîne également la boîte de dialogue Chargement des espaces de noms figé.

Utiliser la connexion de service Azure Resource Manager pour accéder à AKS

Pour les clients AKS, le type de connexion de service Azure Resource Manager fournit la meilleure méthode pour se connecter à un cluster privé ou à un cluster dont les comptes locaux sont désactivés. Cette méthode ne dépend pas de la connectivité du cluster au moment où vous créez une connexion de service. L’accès à AKS est différé au runtime de pipeline, ce qui présente les avantages suivants :

  • L’accès à un cluster AKS (privé) peut être effectué à partir d’un agent auto-hébergé ou identique avec une visibilité directe vers le cluster.
  • Un jeton est créé pour chaque tâche qui utilise une connexion de service Azure Resource Manager. Cela garantit que vous vous connectez à Kubernetes avec un jeton de courte durée, qui est la recommandation Kubernetes.
  • AKS est accessible même lorsque les comptes locaux sont désactivés.

FAQ sur la connexion de service

Je reçois le message d’erreur suivant : Impossible de trouver un secret associé au compte de service. Ce qui se passe

Vous utilisez la connexion au service Kubernetes avec l’option Abonnement Azure. Nous mettons à jour cette méthode pour créer des jetons de longue durée. Cette option devrait être disponible à la mi-mai. Toutefois, il est recommandé de commencer à utiliser le type de connexion de service Azure et de ne pas utiliser de jetons de longue durée conformément aux instructions Kubernetes.

J’utilise AKS et ne souhaite rien changer. Puis-je continuer à utiliser des tâches avec la connexion au service Kubernetes ?

Nous mettons à jour cette méthode pour créer des jetons de longue durée. Cette option devrait être disponible à la mi-mai. Toutefois, n’oubliez pas que cette approche va à l’encontre des conseils de Kubernetes.

J’utilise les tâches Kubernetes et la connexion au service Kubernetes, mais pas AKS. Dois-je être inquiet ?

Vos tâches continueront à fonctionner comme avant.

Le type de connexion de service Kubernetes sera-t-il supprimé ?

Nos tâches Kubernetes fonctionnent avec n’importe quel cluster Kubernetes, quel que soit l’endroit où elles s’exécutent. La connexion au service Kubernetes continue d’exister.

Je suis un client AKS et tout va bien, dois-je agir ?

Il n’est pas nécessaire de changer quoi que ce soit. Si vous utilisez la connexion au service Kubernetes et que vous avez sélectionné l’abonnement Azure lors de la création, vous devez connaître les conseils Kubernetes sur l’utilisation de jetons de longue durée.

Je crée un environnement Kubernetes et n’ai pas la possibilité d’utiliser des connexions de service

Si vous ne pouvez pas accéder à votre AKS au moment de la création de l’environnement, vous pouvez utiliser un environnement vide et définir l’entrée connectionType sur une connexion de service Azure Resource Manager.

AKS est configuré avec le RBAC Azure Active Directory et mon pipeline ne fonctionne pas. Ces mises à jour permettront-elles de résoudre ce problème ?

L’accès à Kubernetes lorsque le RBAC AAD est activé n’est pas lié à la création de jetons. Pour éviter une invite interactive, nous allons prendre en charge kubelogin dans une prochaine mise à jour.

Valeurs de commande

L’entrée de commande accepte l’une des commandes helm suivantes : create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Des exemples sont fournis dans la section Exemples .

Chaque entrée de commande est mappée à un ensemble d’entrées de tâche. Les commandes qui mappent à une entrée de tâche sont désignées dans le bloc de syntaxe YAML et dans la table des entrées de tâche

Dépannage

La tâche HelmDeploy renvoie l’erreur « unknown flag: --wait » lors de l’exécution de « helm init --wait --client-only » sur la version 3.0.2 de Helm.

Il existe des changements cassants entre Helm 2 et Helm 3. L’un d’eux inclut la suppression de tiller, et par conséquent la commande helm init n’est plus prise en charge. Supprimez la commande init quand vous utilisez une version de Helm supérieure à 3.0.

Lors de l’utilisation de Helm 3, si System.debug a la valeur true et que la commande exécutée est la mise à niveau de Helm, le pipeline échoue même si la mise à niveau a réussi.

Il s’agit d’un problème connu avec Helm 3, car il écrit certains journaux dans stderr. La tâche de déploiement Helm est marquée comme ayant échoué s’il y a des journaux dans stderr ou si le code de sortie est différent de zéro. Définissez l’entrée de tâche failOnStderr: false pour ignorer les journaux imprimés dans stderr.

Exemples

Azure Resource Manager

Cet exemple YAML montre comment Azure Resource Manager est utilisé pour faire référence au cluster Kubernetes. Il est utilisé avec l’une des commandes helm et les valeurs appropriées requises pour la commande :

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)

Connexion de service Kubernetes

Cet exemple YAML montre comment la connexion au service Kubernetes est utilisée pour faire référence au cluster Kubernetes. Il est utilisé avec l’une des commandes helm et les valeurs appropriées requises pour la commande :

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

Commandes

L’entrée de commande accepte l’une des commandes helm suivantes : create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.

Cet exemple YAML illustre la commande ls :

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

Commande init

Cet exemple YAML illustre la commande init :

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

Commande install

Cet exemple YAML illustre la commande install :

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

Commande Package

Cet exemple YAML illustre la commande package :

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

Commande upgrade

Cet exemple YAML illustre la commande de 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

Commande save

Cet exemple YAML illustre la commande 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)

Empaqueter et signer des charts Helm

Dans cette section, vous allez apprendre à empaqueter et signer des charts Helm dans un pipeline.

Générez une paire de clés privées-publiques pour signer le graphique Helm à l’aide de GPG

  1. Téléchargez GPG.

  2. Ouvrez une invite de commandes en mode administrateur. Exécutez la commande suivante pour générer une paire de clés privées-publiques pour signer le chart Helm à l’aide de gpg. Lors de la création de la clé, vous serez invité à entrer le nom d’utilisateur et l’adresse e-mail. L’« adresse e-mail de nom » est ensuite utilisée pour nommer la paire de clés privées-publiques créée.

    gpg --full-generate-key
    

    Générer une clé

  3. Vous serez invité à entrer la phrase secrète. Donnez la valeur, puis cliquez sur OK.

    Capture d’écran indiquant la phrase secrète.

  4. Après avoir créé la clé, vous pouvez voir la liste des clés qui contiennent des clés privées et publiques à l’aide de la commande suivante.

    • Pour afficher la liste des clés privées

      gpg --list-secret-keys
      

      Clés privées

    • Pour afficher la liste des clés publiques

      gpg --list-keys
      

      Clés publiques

  5. Stockez les clés privées et publiques dans deux fichiers différents avec l’extension gpg, comme indiqué ci-dessous.

    • Pour une clé privée
    gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
    

    Vous verrez le fichier privatekeys.gpg exporté vers le chemin d’accès mentionné ci-dessus.

    • Pour une clé publique
    gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
    

    Vous verrez le fichier publickey.gpg exporté vers le chemin d’accès mentionné ci-dessus.

Dans Azure DevOps, enregistrez le fichier privatekey.gpg dans la section fichiers sécurisés de la bibliothèque.

Exemple

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)

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent Toutes les versions d’agent prises en charge.
Catégorie de la tâche Déployer