Condividi tramite


HelmDeploy@0 - Pacchetto e distribuzione di grafici Helm v0 attività

Usare questa attività per distribuire, configurare o aggiornare un cluster Kubernetes nel servizio Azure Container eseguendo comandi helm.

Usare questa attività per distribuire, configurare o aggiornare il cluster Kubernetes nel servizio Azure Container eseguendo comandi helm.

Sintassi

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

Input

connectionType - Tipo di connessione
string. Obbligatorio quando command != logout && command != package && command != save. Valori consentiti: Azure Resource Manager, Kubernetes Service Connection, None. Valore predefinito: Azure Resource Manager.

Specifica il tipo di connessione.

  • Kubernetes Service Connection - Specificare Kubernetes Service Connection per connettersi a qualsiasi cluster Kubernetes usando kubeconfig o l'account del servizio di Azure. Consente di fornire un file KubeConfig, specificare un account del servizio o importare un'istanza del servizio Azure Kubernetes con l'opzione Sottoscrizione di Azure . L'importazione di un'istanza del servizio Azure Kubernetes con l'opzione Sottoscrizione di Azure richiede l'accesso al cluster Kubernetes in fase di configurazione della connessione del servizio.
  • Azure Resource Manager- Specificare Azure Resource Manager per connettersi a un servizio Azure Kubernetes tramite connessione al servizio di Azure. Non accede al cluster Kubernetes in fase di configurazione della connessione del servizio.
  • None - Usare una configurazione kubernetes pre-creata in locale.

Per altre informazioni, vedere Connessione al servizio nella sezione Osservazioni seguenti.


connectionType - Tipo di connessione
string. Obbligatorio quando command != logout && command != package. Valori consentiti: Azure Resource Manager, Kubernetes Service Connection, None. Valore predefinito: Azure Resource Manager.

Specifica il tipo di connessione.

  • Kubernetes Service Connection - Specificare Kubernetes Service Connection per connettersi a qualsiasi cluster Kubernetes usando kubeconfig o l'account del servizio di Azure. Consente di fornire un file KubeConfig, specificare un account del servizio o importare un'istanza del servizio Azure Kubernetes con l'opzione Sottoscrizione di Azure . L'importazione di un'istanza del servizio Azure Kubernetes con l'opzione Sottoscrizione di Azure richiede l'accesso al cluster Kubernetes in fase di configurazione della connessione del servizio.
  • Azure Resource Manager- Specificare Azure Resource Manager per connettersi a un servizio Azure Kubernetes tramite connessione al servizio di Azure. Non accede al cluster Kubernetes in fase di configurazione della connessione del servizio.
  • None - Usare una configurazione kubernetes pre-creata in locale.

Per altre informazioni, vedere Connessione al servizio nella sezione Osservazioni seguenti.


azureSubscription - Sottoscrizione di Azure
Alias di input: azureSubscriptionEndpoint. string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nome della connessione al servizio di Azure. Specificare una sottoscrizione di Azure con registro contenitori.


azureSubscription - Sottoscrizione di Azure
Alias di input: azureSubscriptionEndpoint. string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout && command != package.

Nome della connessione al servizio di Azure. Specificare una sottoscrizione di Azure con registro contenitori.


azureResourceGroup - Gruppo di risorse
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nome del gruppo di risorse all'interno della sottoscrizione. Specificare un gruppo di risorse di Azure.


azureResourceGroup - Gruppo di risorse
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout && command != package.

Nome del gruppo di risorse all'interno della sottoscrizione. Specificare un gruppo di risorse di Azure.


kubernetesCluster - Cluster Kubernetes
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nome del cluster del servizio Azure Kubernetes. Specificare un cluster gestito di Azure.


kubernetesCluster - Cluster Kubernetes
string. Obbligatorio quando connectionType = Azure Resource Manager && command != logout && command != package.

Nome del cluster del servizio Azure Kubernetes. Specificare un cluster gestito di Azure.


useClusterAdmin - Usare le credenziali di amministratore del cluster
boolean. facoltativo. Usare quando connectionType = Azure Resource Manager && command != logout && command != package && command != save. Valore predefinito: false.

Usa le credenziali dell'amministratore del cluster anziché le credenziali utente del cluster predefinite.


useClusterAdmin - Usare le credenziali di amministratore del cluster
boolean. facoltativo. Usare quando connectionType = Azure Resource Manager && command != logout && command != package. Valore predefinito: false.

Usa le credenziali dell'amministratore del cluster anziché le credenziali utente del cluster predefinite.


kubernetesServiceConnection - Connessione al servizio Kubernetes
Alias di input: kubernetesServiceEndpoint. string. Obbligatorio quando connectionType = Kubernetes Service Connection && command != logout && command != package && command != save.

Specifica una connessione al servizio Kubernetes.


kubernetesServiceConnection - Connessione al servizio Kubernetes
Alias di input: kubernetesServiceEndpoint. string. Obbligatorio quando connectionType = Kubernetes Service Connection && command != logout && command != package.

Specifica una connessione al servizio Kubernetes.


namespace - Namespace
string. facoltativo. Usare quando command != logout && command != package && command != save.

Spazio dei nomi in cui si eseguono i kubectl comandi. Se non specificato, l'attività usa lo spazio dei nomi predefinito. Specificare lo spazio dei nomi Kubernetes da usare. È possibile specificare lo spazio dei nomi Tiller nella sezione avanzata dell'attività o passando l'opzione --tiller-namespace come argomento.


namespace - Namespace
string. facoltativo. Usare quando command != logout && command != package.

Spazio dei nomi in cui si eseguono i kubectl comandi. Se non specificato, l'attività usa lo spazio dei nomi predefinito. Specificare lo spazio dei nomi Kubernetes da usare. È possibile specificare lo spazio dei nomi Tiller nella sezione avanzata dell'attività o passando l'opzione --tiller-namespace come argomento.


azureSubscriptionForACR - Sottoscrizione di Azure per Registro Contenitori
Alias di input: azureSubscriptionEndpointForACR. string. Obbligatorio quando command == save.

Specifica una sottoscrizione di Azure con il Registro Azure Container.


azureResourceGroupForACR - Gruppo di risorse
string. Obbligatorio quando command == save.

Specifica un gruppo di risorse di Azure con registro contenitori.


azureContainerRegistry - Registro Azure Container
string. Obbligatorio quando command == save.

Specifica un Registro Azure Container da usare per il push dei grafici Helm.


command - Comando
string. Obbligatorio. Valori consentiti: deleteupgradelspackagelogoutrollbacksavecreategetuninstallexposeinitinstalllogin, . Valore predefinito: ls.

Specifica un comando Helm.


command - Comando
string. Obbligatorio. Valori consentiti: deleterollbackinitgetinstallloginexposecreatelspackagelogoutsave, . upgrade Valore predefinito: ls.

Specifica un comando Helm.


command - Comando
string. Obbligatorio. Valori consentiti: deleterollbacklogoutlspackagecreategetupgradeexposeinitinstalllogin, . Valore predefinito: ls.

Specifica un comando Helm.


chartType - Tipo di grafico
string. Obbligatorio quando command == install || command == upgrade. Valori consentiti: Name, FilePath (Percorso file). Valore predefinito: Name.

Specifica come immettere le informazioni sul grafico. È possibile specificare il nome del grafico o del percorso della cartella/file al grafico.


chartName - Nome grafico
string. Obbligatorio quando chartType == Name.

Nome del riferimento al grafico da installare. Questo può essere un URL o un nome del grafico. Ad esempio, se il nome del grafico è stable/mysql, l'attività viene eseguita helm install stable/mysql.


chartPath - Percorso grafico
string. Obbligatorio quando chartType == FilePath || command == package.

Percorso del grafico da installare. Può trattarsi di un percorso di un grafico in pacchetto o di un percorso di una directory del grafico non compresso. Ad esempio, se si specifica ./redis, l'attività viene eseguita helm install ./redis. Se si usa un grafico pubblicato come artefatto, il percorso sarà $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME.


chartVersion - Versione
Alias di input: version. string. facoltativo. Usare quando command == package || command == install || command == upgrade.

Specifica la versione esatta del grafico da installare. Se non si specifica la versione del grafico, l'attività installa la versione più recente. Impostare la versione del grafico su questa versione di semver.


chartVersion - Versione
Alias di input: version. string. facoltativo. Usare quando command == package.

Specifica la versione esatta del grafico da installare. Se non si specifica la versione del grafico, l'attività installa la versione più recente. Impostare la versione del grafico su questa versione di semver.


releaseName - Nome versione
string. facoltativo. Usare quando command == install || command == upgrade.

Nome della versione. Se non si specifica il nome della versione, l'attività genera una per l'utente. L'input releaseName è valido solo per install e upgrade comandi.


overrideValues - Imposta valori
string. facoltativo. Usare quando command == install || command == upgrade.

Specifica i valori nella riga di comando. Questo input può specificare più valori o separati con virgole: key1=val1,key2=val2.

È anche possibile specificare più valori delimitandoli con una nuova riga, come indicato di seguito:

  • key1=val1
  • key2=val2

Se si ha un valore contenente nuove righe, usare l'opzione valueFile . In caso contrario, l'attività considera la nuova riga come delimitatore. L'attività costruisce il comando Helm usando questi valori di set. Ad esempio, è possibile impostare il valore usando un comando simile al seguente: helm install --set key1=val1 ./redis.


valueFile - File valore
string. facoltativo. Usare quando command == install || command == upgrade.

Specifica i valori in un file YAML o in un URL. Ad esempio, specificando myvalues.yaml i risultati in helm install --values=myvals.yaml.


destination - Destinazione
string. facoltativo. Usare quando command == package. Valore predefinito: $(Build.ArtifactStagingDirectory).

Specifica i valori in un file YAML o in un URL.


canaryimage - Usare la versione dell'immagine canary.
boolean. facoltativo. Usare quando command == init. Valore predefinito: false.

Specifica l'immagine canary Tiller. Usare la versione di pre-rilascio più recente di Tiller.


upgradetiller - Aggiornare Tiller
boolean. facoltativo. Usare quando command == init. Valore predefinito: true.

Se true, questo input aggiorna Tiller se Tiller è già installato.


updatedependency - Aggiornare la dipendenza
boolean. facoltativo. Usare quando command == install || command == package. Valore predefinito: false.

Se true, questo input aggiorna un aggiornamento delle dipendenze Helm prima di installare il grafico. Aggiornamenti dipendenze dalla requirements.yaml directory prima della creazione di charts/ pacchetti.


save - Salvare
boolean. facoltativo. Usare quando command == package. Valore predefinito: true.

Salva il grafico in pacchetto nel repository grafico locale quando impostato su true​.


install - Installare se la versione non è presente.
boolean. facoltativo. Usare quando command == upgrade. Valore predefinito: true.

Se una versione di questo nome non esiste già, questo input esegue un'installazione.


recreate - Ricreare i pod.
boolean. facoltativo. Usare quando command == upgrade. Valore predefinito: false.

Esegue il riavvio dei pod per la risorsa, se applicabile.


resetValues - Reimpostare i valori.
boolean. facoltativo. Usare quando command == upgrade. Valore predefinito: false.

Reimposta i valori nei valori incorporati nel grafico.


force - Forza
boolean. facoltativo. Usare quando command == upgrade. Valore predefinito: false.

Forza un aggiornamento delle risorse tramite un'azione di eliminazione o ricreazione, se necessario.


waitForExecution - Aspettare
boolean. facoltativo. Usare quando command == init || command == install || command == upgrade. Valore predefinito: true.

Blocca l'azione fino al completamento dell'esecuzione del comando.


arguments - Argomenti
string. facoltativo. Usare quando command != login && command != logout.

Opzioni di comando Helm.


enableTls - Abilitare TLS
boolean. facoltativo. Usare quando command != login && command != logout && command != package && command != save. Valore predefinito: false.

Abilita l'uso di SSL tra Helm e Tiller.


enableTls - Abilitare TLS
boolean. facoltativo. Usare quando command != login && command != logout && command != package. Valore predefinito: false.

Abilita l'uso di SSL tra Helm e Tiller.


caCert - Certificato CA
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package && command != save.

Certificato CA usato per rilasciare un certificato per il client Tiller e Helm.


caCert - Certificato CA
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package.

Certificato CA usato per rilasciare un certificato per il client Tiller e Helm.


certificate - Certificato
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package && command != save.

Specificare il certificato Tiller o il certificato client Helm.


certificate - Certificato
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package.

Specificare il certificato Tiller o il certificato client Helm.


privatekey - Chiave
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package && command != save.

Specificare la chiave Tiller o la chiave client Helm.


privatekey - Chiave
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package.

Specificare la chiave Tiller o la chiave client Helm.


tillernamespace - Spazio dei nomi Tiller
string. facoltativo. Usare quando command != login && command != logout && command != package && command != save.

Specificare lo spazio dei nomi Kubernetes di Tiller.


tillernamespace - Spazio dei nomi Tiller
string. facoltativo. Usare quando command != login && command != logout && command != package.

Specificare lo spazio dei nomi Kubernetes di Tiller.


failOnStderr - Errore standard non riuscita
boolean. facoltativo. Usare quando command != login && command != logout && command != package && command != save. Valore predefinito: false.

Se questo input è true, questa attività ha esito negativo se vengono scritti errori nella pipeline di errore o se i dati vengono scritti nel flusso di errori standard. In caso contrario, l'attività si basa sul codice di uscita per determinare l'errore.


failOnStderr - Errore standard non riuscita
boolean. facoltativo. Usare quando command != login && command != logout && command != package. Valore predefinito: true.

Se questo input è true, questa attività ha esito negativo se vengono scritti errori nella pipeline di errore o se i dati vengono scritti nel flusso di errori standard. In caso contrario, l'attività si basa sul codice di uscita per determinare l'errore.


publishPipelineMetadata - Pubblicare metadati della pipeline
boolean. facoltativo. Usare quando command != login && command != logout && command != package && command != save. Valore predefinito: true.

Se questo input è true, l'attività raccoglie e pubblica i metadati di distribuzione.


chartNameForACR - Nome grafico per Registro Azure Container
string. Obbligatorio quando command == save.

Nome del grafico nel Registro Azure Container.


chartPathForACR - Percorso grafico per Registro Azure Container
string. Obbligatorio quando command == save.

Percorso del file nella directory del grafico nella Registro Azure Container.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Questa attività definisce le variabili di output seguenti, che è possibile usare nei passaggi, nei processi e nelle fasi downstream.

helmExitCode
Codice di uscita generato dall'esecuzione del comando Helm specificato.

helmOutput
Output generato dall'esecuzione del comando Helm specificato.

No.

Osservazioni

Usare HelmDeploy@0 per distribuire, configurare o aggiornare un cluster Kubernetes nel servizio Azure Container eseguendo comandi Helm. Helm è uno strumento che semplifica la distribuzione e la gestione delle app Kubernetes usando un formato di creazione pacchetti denominato grafici.

È possibile definire, versione, condividere, installare e aggiornare anche l'app Kubernetes più complessa usando Helm.

  • Helm consente di combinare più manifesti kubernetes (yaml), ad esempio service, distribuzioni, configmap e altro ancora in una singola unità denominata Helm Chart. Non è necessario inventare o usare una tokenizzazione o uno strumento di templating.
  • I grafici Helm consentono di gestire le dipendenze dell'applicazione e di distribuire e di eseguire il rollback come unità. Sono anche facili da creare, versione, pubblicare e condividere con altri team partner.

Azure Pipelines ha il supporto predefinito per i grafici Helm:

  • L'attività di installazione di Helm Tool può essere usata per installare la versione corretta di Helm negli agenti.
  • L'attività Helm package and deploy può essere usata per creare un pacchetto dell'app e distribuirla in un cluster Kubernetes. È possibile usare l'attività per installare o aggiornare Tiller in uno spazio dei nomi Kubernetes, per connettersi in modo sicuro a Tiller tramite TLS per la distribuzione di grafici o per eseguire qualsiasi comando Helm, ad esempio lint.
  • L'attività Helm supporta la connessione a un servizio Azure Kubernetes tramite una connessione al servizio di Azure. È possibile connettersi a qualsiasi cluster Kubernetes usando kubeconfig o un account del servizio.
  • Le distribuzioni Helm possono essere completate usando l'attività Kubectl ; ad esempio, creare/aggiornare, imagepullsecret e altri.

Connessione al servizio

HelmDeploy@0 funziona con due tipi di connessione del servizio: Connessione al servizio Azure Resource Manager e Kubernetes. Vedere Esempi per esempi sulla configurazione di questi due tipi di connessione.

Nota

Una connessione al servizio non è necessaria se una risorsa di ambiente che punta a un cluster Kubernetes è già stata specificata nella fase della pipeline.

Considerazioni sulla connessione al servizio Kubernetes durante l'accesso al servizio Azure Kubernetes

È possibile creare una connessione al servizio Kubernetes con una delle opzioni seguenti.

  • KubeConfig
  • Account del servizio
  • Sottoscrizione di Azure

Screenshot della scelta di un metodo di autenticazione della connessione al servizio Kubernetes.

Quando si seleziona l'opzione Sottoscrizione di Azure , Kubernetes deve essere accessibile ad Azure DevOps in fase di configurazione della connessione al servizio. È possibile che non sia possibile creare una connessione al servizio, ad esempio è stato creato un cluster privato o che il cluster ha account locali disabilitati. In questi casi Azure DevOps non può connettersi al cluster in fase di configurazione della connessione al servizio e verrà visualizzata una schermata di caricamento bloccata degli spazi dei nomi .

Screenshot della scelta di una finestra di dialogo di autenticazione della connessione al servizio Kubernetes bloccata durante il caricamento degli spazi dei nomi.

A partire da Kubernetes 1.24, i token di lunga durata non vengono più creati per impostazione predefinita. Kubernetes consiglia di non usare token di lunga durata. Di conseguenza, le attività che usano una connessione al servizio Kubernetes creata con l'opzione Sottoscrizione di Azure non hanno accesso al token permanente necessario per l'autenticazione e non possono accedere al cluster Kubernetes. Ciò comporta anche la finestra di dialogo Carica spazi dei nomi bloccati.

Usare la connessione al servizio azure Resource Manager per accedere al servizio Azure Kubernetes

Per i clienti del servizio Azure Kubernetes, il tipo di connessione del servizio Resource Manager di Azure offre il metodo migliore per connettersi a un cluster privato o a un cluster con account locali disabilitati. Questo metodo non dipende dalla connettività del cluster al momento della creazione di una connessione al servizio. L'accesso al servizio Azure Kubernetes viene posticipato al runtime della pipeline, con i vantaggi seguenti:

  • L'accesso a un cluster del servizio Azure Kubernetes (privato) può essere eseguito da un agente del set di scalabilità o self-hosted con vista linea al cluster.
  • Viene creato un token per ogni attività che usa una connessione al servizio di Resource Manager di Azure. Ciò garantisce la connessione a Kubernetes con un token di breve durata, ovvero la raccomandazione Kubernetes.
  • È possibile accedere al servizio Azure Kubernetes anche quando gli account locali sono disabilitati.

Domande frequenti sulla connessione al servizio

Viene visualizzato il messaggio di errore seguente: impossibile trovare alcun segreto associato all'account del servizio. Cosa sta succedendo?

Si usa la connessione al servizio Kubernetes con l'opzione Sottoscrizione di Azure. Questo metodo viene aggiornato per creare token di lunga durata. Questa operazione dovrebbe essere disponibile a metà maggio. È tuttavia consigliabile iniziare a usare il tipo di connessione del servizio di Azure e non usare token di lunga durata in base alle indicazioni di Kubernetes.

Si usa il servizio Azure Kubernetes e non si vuole modificare nulla, è possibile continuare a usare le attività con la connessione al servizio Kubernetes?

Questo metodo viene aggiornato per creare token di lunga durata. Questa operazione dovrebbe essere disponibile a metà maggio. Tuttavia, tenere presente che questo approccio è contro le indicazioni di Kubernetes.

Si usano le attività Kubernetes e la connessione al servizio Kubernetes, ma non il servizio Azure Kubernetes. Dovrei essere preoccupato?

Le attività continueranno a funzionare come prima.

Il tipo di connessione del servizio Kubernetes verrà rimosso?

Le attività Kubernetes funzionano con qualsiasi cluster Kubernetes, indipendentemente dalla posizione in cui vengono eseguite. La connessione al servizio Kubernetes continuerà a esistere.

Io sono un cliente del servizio Azure Kubernetes e tutto è in esecuzione, dovrei agire?

Non c'è bisogno di cambiare nulla. Se si usa la connessione al servizio Kubernetes e la sottoscrizione di Azure selezionata durante la creazione, è necessario tenere presente le indicazioni su Kubernetes sull'uso di token di lunga durata.

Si sta creando un ambiente Kubernetes e non è possibile usare le connessioni al servizio

Nel caso in cui non sia possibile accedere al servizio Azure Kubernetes durante l'ora di creazione dell'ambiente, è possibile usare un ambiente vuoto e impostare l'input connectionType su una connessione del servizio di Resource Manager di Azure.

Il servizio Azure Kubernetes è configurato con il controllo degli accessi in base al ruolo di Azure Active Directory e la pipeline non funziona. Questi aggiornamenti verranno risolti?

L'accesso a Kubernetes quando il controllo degli accessi in base al ruolo di AAD non è correlato alla creazione di token. Per evitare un prompt interattivo, verrà supportato kubelogin in un aggiornamento futuro.

Valori dei comandi

L'input del comando accetta uno dei comandi helm seguenti: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Gli esempi vengono forniti nella sezione Esempi .

Ogni input di comando esegue il mapping a un set di input attività. I comandi mappati a un input attività sono designati nel blocco di sintassi YAML e nella tabella input attività

Risoluzione dei problemi

L'attività HelmDeploy genera l'errore 'flag sconosciuto: --wait' durante l'esecuzione di 'helm init --wait --client-only' nella versione helm 3.0.2.

Ci sono alcune modifiche di rilievo tra Helm 2 e Helm 3. Uno di essi include la rimozione del tiller e quindi helm init il comando non è più supportato. Rimuovere il comando: init quando si usa Helm versione 3.0+.

Quando si usa Helm 3, se System.debug è impostato su true e l'aggiornamento Helm è il comando usato, la pipeline ha esito negativo anche se l'aggiornamento ha esito positivo.

Si tratta di un problema noto con Helm 3, in quanto scrive alcuni log in stderr. L'attività di distribuzione Helm è contrassegnata come non riuscita se sono presenti log in stderr o il codice di uscita è diverso da zero. Impostare l'input dell'attività failOnStderr: false per ignorare i log stampati in stderr.

Esempio

Azure Resource Manager

Questo esempio YAML illustra come viene usato l'Resource Manager di Azure per fare riferimento al cluster Kubernetes. Questa operazione viene usata con uno dei comandi helm e i valori appropriati necessari per il 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)

Connessione al servizio Kubernetes

Questo esempio DI YAML illustra come viene usata la connessione al servizio Kubernetes per fare riferimento al cluster Kubernetes. Questa operazione viene usata con uno dei comandi helm e i valori appropriati necessari per il comando:

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

Comandi

L'input del comando accetta uno dei comandi helm seguenti: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.

Questo esempio YAML illustra il comando ls :

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

comando init

Questo esempio YAML illustra il 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

Questo esempio YAML illustra il comando di installazione :

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

comando pacchetto

Questo esempio YAML illustra il comando del pacchetto :

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

comando di aggiornamento

Questo esempio YAML illustra il comando di aggiornamento :

- 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 salva

Questo esempio YAML illustra il comando salva :

- 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)

Creare pacchetti e firmare grafici Helm

In questa sezione si apprenderà come creare un pacchetto e firmare grafici Helm in una pipeline.

Generare una coppia di chiavi privata-pubblica per firmare il grafico helm usando GPG

  1. Scaricare GpG.

  2. Avviare il prompt dei comandi in modalità amministratore. Eseguire il comando seguente per generare una coppia di chiavi privata-pubblica per firmare il grafico helm usando gpg. Durante la creazione della chiave, verrà richiesto il nome utente e l'indirizzo di posta elettronica. L'indirizzo di posta elettronica "name email" viene usato in seguito per assegnare un nome alla coppia di chiavi pubblica privata creata.

    gpg --full-generate-key
    

    Genera chiave

  3. Verrà richiesto di specificare la passphrase. Assegnare il valore e fare clic su ok.

    Screenshot che mostra la passphrase.

  4. Dopo aver creato la chiave, è possibile visualizzare l'elenco di chiavi che contiene sia private che pubbliche usando il comando seguente.

    • Per visualizzare l'elenco delle chiavi private

      gpg --list-secret-keys
      

      Chiavi private

    • Per visualizzare l'elenco di chiavi pubbliche

      gpg --list-keys
      

      Chiavi pubbliche

  5. Archiviare le chiavi private e pubbliche in 2 file diversi con l'estensione gpg , come illustrato di seguito.

    • Per una chiave privata
    gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
    

    Verrà visualizzato il file privatekeys.gpg esportato nel percorso indicato in precedenza.

    • Per una chiave pubblica
    gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
    

    Verrà visualizzato il file publickey.gpg esportato nel percorso indicato in precedenza.

In Azure DevOps salvare il file privatekey.gpg nella sezione File sicuri della libreria.

Esempio

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)

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente Tutte le versioni dell'agente supportate.
Categoria attività Distribuire