Share via


HelmDeploy@0 - Helm-grafieken verpakken en implementeren v0-taak

Gebruik deze taak om een Kubernetes-cluster in Azure Container Service te implementeren, configureren of bij te werken door Helm-opdrachten uit te voeren.

Gebruik deze taak om uw Kubernetes-cluster in Azure Container Service te implementeren, configureren of bij te werken door Helm-opdrachten uit te voeren.

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.

Invoerwaarden

connectionType - Verbindingstype
string. Vereist wanneer command != logout && command != package && command != save. Toegestane waarden: Azure Resource Manager, Kubernetes Service Connection, None. Standaardwaarde: Azure Resource Manager.

Hiermee geeft u het verbindingstype op.

  • Kubernetes Service Connection - Geef op Kubernetes Service Connection om verbinding te maken met een Kubernetes-cluster met behulp van kubeconfig of het Azure-serviceaccount. Hiermee kunt u een KubeConfig-bestand opgeven, een serviceaccount opgeven of een AKS-exemplaar importeren met de optie Azure-abonnement . Voor het importeren van een AKS-exemplaar met de optie Azure-abonnement is kubernetes-clustertoegang vereist op de configuratietijd van de serviceverbinding.
  • Azure Resource Manager- Geef op Azure Resource Manager om verbinding te maken met een Azure Kubernetes Service met behulp van Azure Service Connection. Heeft geen toegang tot het Kubernetes-cluster tijdens de configuratietijd van de serviceverbinding.
  • None - Gebruik een vooraf gemaakte Kubernetes-configuratie die lokaal is opgeslagen.

Zie Serviceverbinding in de volgende sectie Opmerkingen voor meer informatie.


connectionType - Verbindingstype
string. Vereist wanneer command != logout && command != package. Toegestane waarden: Azure Resource Manager, Kubernetes Service Connection, None. Standaardwaarde: Azure Resource Manager.

Hiermee geeft u het verbindingstype op.

  • Kubernetes Service Connection - Geef op Kubernetes Service Connection om verbinding te maken met een Kubernetes-cluster met behulp van kubeconfig of het Azure-serviceaccount. Hiermee kunt u een KubeConfig-bestand opgeven, een serviceaccount opgeven of een AKS-exemplaar importeren met de optie Azure-abonnement . Voor het importeren van een AKS-exemplaar met de optie Azure-abonnement is kubernetes-clustertoegang vereist op de configuratietijd van de serviceverbinding.
  • Azure Resource Manager- Geef op Azure Resource Manager om verbinding te maken met een Azure Kubernetes Service met behulp van Azure Service Connection. Heeft geen toegang tot het Kubernetes-cluster tijdens de configuratietijd van de serviceverbinding.
  • None - Gebruik een vooraf gemaakte Kubernetes-configuratie die lokaal is opgeslagen.

Zie Serviceverbinding in de volgende sectie Opmerkingen voor meer informatie.


azureSubscription - Azure-abonnement
Invoeralias: azureSubscriptionEndpoint. string. Vereist wanneer connectionType = Azure Resource Manager && command != logout && command != package && command != save.

De naam van de Azure-serviceverbinding. Geef een Azure-abonnement op dat uw containerregister bevat.


azureSubscription - Azure-abonnement
Invoeralias: azureSubscriptionEndpoint. string. Vereist wanneer connectionType = Azure Resource Manager && command != logout && command != package.

De naam van de Azure-serviceverbinding. Geef een Azure-abonnement op dat uw containerregister bevat.


azureResourceGroup - Resourcegroep
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout && command != package && command != save.

De naam van de resourcegroep binnen het abonnement. Geef een Azure-resourcegroep op.


azureResourceGroup - Resourcegroep
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout && command != package.

De naam van de resourcegroep binnen het abonnement. Geef een Azure-resourcegroep op.


kubernetesCluster - Kubernetes-cluster
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout && command != package && command != save.

De naam van het AKS-cluster. Geef een beheerd Azure-cluster op.


kubernetesCluster - Kubernetes-cluster
string. Vereist wanneer connectionType = Azure Resource Manager && command != logout && command != package.

De naam van het AKS-cluster. Geef een beheerd Azure-cluster op.


useClusterAdmin - Referenties van clusterbeheerder gebruiken
boolean. Optioneel. Gebruik wanneer connectionType = Azure Resource Manager && command != logout && command != package && command != save. Standaardwaarde: false.

Gebruikt referenties voor clusterbeheerder in plaats van standaardgebruikersreferenties voor het cluster.


useClusterAdmin - Referenties van clusterbeheerder gebruiken
boolean. Optioneel. Gebruik wanneer connectionType = Azure Resource Manager && command != logout && command != package. Standaardwaarde: false.

Gebruikt referenties voor clusterbeheerder in plaats van standaardgebruikersreferenties voor het cluster.


kubernetesServiceConnection - Kubernetes-serviceverbinding
Invoeralias: kubernetesServiceEndpoint. string. Vereist wanneer connectionType = Kubernetes Service Connection && command != logout && command != package && command != save.

Hiermee geeft u een Kubernetes-serviceverbinding op.


kubernetesServiceConnection - Kubernetes-serviceverbinding
Invoeralias: kubernetesServiceEndpoint. string. Vereist wanneer connectionType = Kubernetes Service Connection && command != logout && command != package.

Hiermee geeft u een Kubernetes-serviceverbinding op.


namespace - Naamruimte
string. Optioneel. Gebruik wanneer command != logout && command != package && command != save.

De naamruimte waarin u de kubectl opdrachten uitvoert. Als de taak niet is opgegeven, wordt de standaardnaamruimte gebruikt. Geef de Kubernetes-naamruimte op die u wilt gebruiken. U kunt de Tiller-naamruimte opgeven in de sectie Geavanceerd van de taak of door de --tiller-namespace optie door te geven als een argument.


namespace - Naamruimte
string. Optioneel. Gebruik wanneer command != logout && command != package.

De naamruimte waarin u de kubectl opdrachten uitvoert. Als de taak niet is opgegeven, wordt de standaardnaamruimte gebruikt. Geef de Kubernetes-naamruimte op die u wilt gebruiken. U kunt de Tiller-naamruimte opgeven in de sectie Geavanceerd van de taak of door de --tiller-namespace optie door te geven als een argument.


azureSubscriptionForACR - Azure-abonnement voor Container Registry
Invoeralias: azureSubscriptionEndpointForACR. string. Vereist wanneer command == save.

Hiermee geeft u een Azure-abonnement met uw Azure Container Registry.


azureResourceGroupForACR - Resourcegroep
string. Vereist wanneer command == save.

Hiermee geeft u een Azure-resourcegroep op die uw containerregister bevat.


azureContainerRegistry - Azure Container Registry
string. Vereist wanneer command == save.

Hiermee geeft u een Azure Container Registry worden gebruikt voor het pushen van Helm-grafieken.


command - Opdracht
string. Vereist. Toegestane waarden: create, delete, expose, get, init, install, login, , logout, rollbackpackagelssaveupgrade. uninstall Standaardwaarde: ls.

Hiermee geeft u een Helm-opdracht.


command - Opdracht
string. Vereist. Toegestane waarden: create, delete, expose, get, init, install, login, , logout, ls, savepackagerollback, . upgrade Standaardwaarde: ls.

Hiermee geeft u een Helm-opdracht.


command - Opdracht
string. Vereist. Toegestane waarden: create, delete, expose, get, init, install, , login, , logout, upgradelspackagerollback. Standaardwaarde: ls.

Hiermee geeft u een Helm-opdracht.


chartType - Grafiektype
string. Vereist wanneer command == install || command == upgrade. Toegestane waarden: Name, FilePath (Bestandspad). Standaardwaarde: Name.

Hiermee geeft u op hoe u grafiekgegevens wilt invoeren. U kunt de naam van de grafiek of het map-/bestandspad naar de grafiek opgeven.


chartName - Grafieknaam
string. Vereist wanneer chartType == Name.

De naam van de grafiekreferentie die moet worden geïnstalleerd. Dit kan een URL of grafieknaam zijn. Als de grafieknaam bijvoorbeeld is, wordt stable/mysqlde taak uitgevoerd helm install stable/mysql.


chartPath - Grafiekpad
string. Vereist wanneer chartType == FilePath || command == package.

Het pad naar de grafiek die moet worden geïnstalleerd. Dit kan een pad zijn naar een verpakte grafiek of een pad naar een uitgepakte grafiekmap. Als u bijvoorbeeld opgeeft ./redis, wordt de taak uitgevoerd helm install ./redis. Als u een grafiek gebruikt die is gepubliceerd als een artefact, is $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAMEhet pad .


chartVersion - Versie
Invoeralias: version. string. Optioneel. Gebruik wanneer command == package || command == install || command == upgrade.

Hiermee geeft u de exacte grafiekversie te installeren. Als u de grafiekversie niet opgeeft, wordt de meest recente versie geïnstalleerd. Stel de versie in de grafiek in op deze semver-versie.


chartVersion - Versie
Invoeralias: version. string. Optioneel. Gebruik wanneer command == package.

Hiermee geeft u de exacte grafiekversie te installeren. Als u de grafiekversie niet opgeeft, wordt de meest recente versie geïnstalleerd. Stel de versie in de grafiek in op deze semver-versie.


releaseName - Releasenaam
string. Optioneel. Gebruik wanneer command == install || command == upgrade.

De releasenaam. Als u de releasenaam niet opgeeft, wordt er automatisch een voor u gegenereerd door de taak. De releaseName invoer is alleen geldig voor install opdrachten en upgrade .


overrideValues - Waarden instellen
string. Optioneel. Gebruik wanneer command == install || command == upgrade.

Hiermee geeft u waarden op de opdrachtregel. Met deze invoer kunnen meerdere of afzonderlijke waarden worden opgegeven met komma's: key1=val1,key2=val2.

U kunt ook meerdere waarden opgeven door deze als volgt te gescheiden door een nieuwe regel:

  • key1=val1
  • key2=val2

Als u een waarde hebt die nieuwe regels bevat, gebruikt u de valueFile optie. Anders wordt de nieuwe regel door de taak als een scheidingsteken behandeld. De taak maakt de Helm-opdracht met behulp van deze ingestelde waarden. U kunt de waarde bijvoorbeeld instellen met behulp van een opdracht als de volgende: helm install --set key1=val1 ./redis.


valueFile - Waardebestand
string. Optioneel. Gebruik wanneer command == install || command == upgrade.

Hiermee geeft u waarden in een YAML-bestand of een URL. Als u bijvoorbeeld resultaten opgeeft myvalues.yaml in helm install --values=myvals.yaml.


destination - Bestemming
string. Optioneel. Gebruik wanneer command == package. Standaardwaarde: $(Build.ArtifactStagingDirectory).

Hiermee geeft u waarden in een YAML-bestand of een URL.


canaryimage - Versie van canary-installatiekopieën gebruiken.
boolean. Optioneel. Gebruik wanneer command == init. Standaardwaarde: false.

Hiermee geeft u de canary Tiller-afbeelding op. Gebruik de nieuwste voorlopige versie van Tiller.


upgradetiller - Tiller upgraden
boolean. Optioneel. Gebruik wanneer command == init. Standaardwaarde: true.

Als true, wordt Met deze invoer Tiller bijgewerkt als Tiller al is geïnstalleerd.


updatedependency - Afhankelijkheid bijwerken
boolean. Optioneel. Gebruik wanneer command == install || command == package. Standaardwaarde: false.

Als true, werkt deze invoer een Helm-afhankelijkheidsupdate bij voordat de grafiek wordt geïnstalleerd. Updates afhankelijkheden van requirements.yaml naar de map vóór het charts/ verpakken.


save - Opslaan
boolean. Optioneel. Gebruik wanneer command == package. Standaardwaarde: true.

Slaat de verpakte grafiek op in de lokale grafiekopslagplaats wanneer deze is ingesteld op true​.


install - Installeren als de release niet aanwezig is.
boolean. Optioneel. Gebruik wanneer command == upgrade. Standaardwaarde: true.

Als er nog geen release met deze naam bestaat, wordt met deze invoer een installatie uitgevoerd.


recreate - Pods opnieuw maken.
boolean. Optioneel. Gebruik wanneer command == upgrade. Standaardwaarde: false.

Hiermee worden pods opnieuw opgestart voor de resource, indien van toepassing.


resetValues - Waarden opnieuw instellen.
boolean. Optioneel. Gebruik wanneer command == upgrade. Standaardwaarde: false.

Hiermee stelt u de waarden in op de waarden die in de grafiek zijn ingebouwd.


force - Kracht
boolean. Optioneel. Gebruik wanneer command == upgrade. Standaardwaarde: false.

Dwingt een resource-update af via een verwijder- of opnieuw maken-actie, indien nodig.


waitForExecution - Wachten
boolean. Optioneel. Gebruik wanneer command == init || command == install || command == upgrade. Standaardwaarde: true.

Hiermee blokkeert u de actie totdat de uitvoering van de opdracht is voltooid.


arguments - Argumenten
string. Optioneel. Gebruik wanneer command != login && command != logout.

De Helm-opdrachtopties.


enableTls - TLS inschakelen
boolean. Optioneel. Gebruik wanneer command != login && command != logout && command != package && command != save. Standaardwaarde: false.

Maakt het gebruik van SSL tussen Helm en Tiller mogelijk.


enableTls - TLS inschakelen
boolean. Optioneel. Gebruik wanneer command != login && command != logout && command != package. Standaardwaarde: false.

Maakt het gebruik van SSL tussen Helm en Tiller mogelijk.


caCert - CA-certificaat
string. Vereist wanneer enableTls == true && command != login && command != logout && command != package && command != save.

Het CA-certificaat dat wordt gebruikt voor het uitgeven van een certificaat voor de Tiller- en Helm-client.


caCert - CA-certificaat
string. Vereist wanneer enableTls == true && command != login && command != logout && command != package.

Het CA-certificaat dat wordt gebruikt voor het uitgeven van een certificaat voor de Tiller- en Helm-client.


certificate - Certificaat
string. Vereist wanneer enableTls == true && command != login && command != logout && command != package && command != save.

Geef het Tiller-certificaat of het Helm-clientcertificaat op.


certificate - Certificaat
string. Vereist wanneer enableTls == true && command != login && command != logout && command != package.

Geef het Tiller-certificaat of het Helm-clientcertificaat op.


privatekey - Sleutel
string. Vereist wanneer enableTls == true && command != login && command != logout && command != package && command != save.

Geef de Tiller-sleutel of de Helm-clientsleutel op.


privatekey - Sleutel
string. Vereist wanneer enableTls == true && command != login && command != logout && command != package.

Geef de Tiller-sleutel of de Helm-clientsleutel op.


tillernamespace - Tiller-naamruimte
string. Optioneel. Gebruik wanneer command != login && command != logout && command != package && command != save.

Geef de Kubernetes-naamruimte van Tiller op.


tillernamespace - Tiller-naamruimte
string. Optioneel. Gebruik wanneer command != login && command != logout && command != package.

Geef de Kubernetes-naamruimte van Tiller op.


failOnStderr - Fout bij standaardfout
boolean. Optioneel. Gebruik wanneer command != login && command != logout && command != package && command != save. Standaardwaarde: false.

Als deze invoer is, mislukt truedeze taak als er fouten naar de foutpijplijn worden geschreven of als er gegevens naar de stroom Standaardfouten worden geschreven. Anders is de taak afhankelijk van de afsluitcode om de fout te bepalen.


failOnStderr - Fout bij standaardfout
boolean. Optioneel. Gebruik wanneer command != login && command != logout && command != package. Standaardwaarde: true.

Als deze invoer is, mislukt truedeze taak als er fouten naar de foutpijplijn worden geschreven of als er gegevens naar de stroom Standaardfouten worden geschreven. Anders is de taak afhankelijk van de afsluitcode om de fout te bepalen.


publishPipelineMetadata - Metagegevens van pijplijn publiceren
boolean. Optioneel. Gebruik wanneer command != login && command != logout && command != package && command != save. Standaardwaarde: true.

Als deze invoer is true, worden met de taak metagegevens van de implementatie verzameld en gepubliceerd.


chartNameForACR - Grafieknaam voor Azure Container Registry
string. Vereist wanneer command == save.

De naam van de grafiek in de Azure Container Registry.


chartPathForACR - Grafiekpad voor Azure Container Registry
string. Vereist wanneer command == save.

Het bestandspad naar de grafiekmap in de Azure Container Registry.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Deze taak definieert de volgende uitvoervariabelen, die u kunt gebruiken in downstreamstappen, taken en fasen.

helmExitCode
De afsluitcode die wordt verzonden door de uitvoering van de opgegeven Helm-opdracht.

helmOutput
De uitvoer die wordt verzonden door de uitvoering van de opgegeven Helm-opdracht.

Geen.

Opmerkingen

Gebruik HelmDeploy@0 om een Kubernetes-cluster in Azure Container Service te implementeren, configureren of bij te werken door Helm-opdrachten uit te voeren. Helm is een hulpprogramma dat de implementatie en het beheer van Kubernetes-apps stroomlijnt met behulp van een verpakkingsindeling die grafieken wordt genoemd.

U kunt zelfs de meest complexe Kubernetes-app definiëren, versien, delen, installeren en upgraden met behulp van Helm.

  • Met Helm kunt u meerdere Kubernetes-manifesten (yaml) zoals service, implementaties, configmaps en meer combineren in één eenheid met de naam Helm-grafieken. U hoeft geen tokenisatie of een tijdelijke tool uit te vinden of te gebruiken.
  • Helm-grafieken helpen u bij het beheren van toepassingsafhankelijkheden en het implementeren en terugdraaien als een eenheid. Ze zijn ook eenvoudig te maken, te versiereren, te publiceren en te delen met andere partnerteams.

Azure Pipelines biedt ingebouwde ondersteuning voor Helm-grafieken:

  • De installatietaak van het Helm-hulpprogramma kan worden gebruikt om de juiste versie van Helm op de agents te installeren.
  • De Helm-pakket- en implementatietaak kan worden gebruikt om de app te verpakken en te implementeren in een Kubernetes-cluster. U kunt de taak gebruiken om Tiller te installeren of bij te werken naar een Kubernetes-naamruimte, om veilig verbinding te maken met Tiller via TLS voor het implementeren van grafieken of om een Helm-opdracht uit te voeren, zoals lint.
  • De Helm-taak ondersteunt het maken van verbinding met een Azure Kubernetes Service met behulp van een Azure-serviceverbinding. U kunt verbinding maken met elk Kubernetes-cluster met behulp van kubeconfig of een serviceaccount.
  • Helm-implementaties kunnen worden aangevuld met behulp van de Kubectl-taak ; bijvoorbeeld create/update, imagepullsecret en andere.

Serviceverbinding

HelmDeploy@0 werkt met twee typen serviceverbindingen: Azure Resource Manager en Kubernetes Service Connection. Zie Voorbeelden voor voorbeelden over het configureren van deze twee verbindingstypen.

Notitie

Een serviceverbinding is niet vereist als er al een omgevingsresource is opgegeven die verwijst naar een Kubernetes-cluster in de pijplijnfase.

Aandachtspunten voor kubernetes-serviceverbindingen bij het openen van AKS

U kunt een Kubernetes-serviceverbinding maken met een van de volgende opties.

  • KubeConfig
  • Serviceaccount
  • Azure-abonnement

Schermopname van het kiezen van een verificatiemethode voor een Kubernetes-serviceverbinding.

Wanneer u de optie Azure-abonnement selecteert, moet Kubernetes tijdens de configuratietijd van de serviceverbinding toegankelijk zijn voor Azure DevOps. Er kunnen verschillende redenen zijn waarom een serviceverbinding niet kan worden gemaakt, bijvoorbeeld omdat u een privécluster hebt gemaakt of dat lokale accounts voor het cluster zijn uitgeschakeld. In deze gevallen kan Azure DevOps geen verbinding maken met uw cluster tijdens de configuratietijd van de serviceverbinding en ziet u een vastgelopen scherm Naamruimten laden .

Schermopname van het kiezen van een dialoogvenster voor verbindingsverificatie van de Kubernetes-service die vastloopt bij het laden van naamruimten.

Vanaf Kubernetes 1.24 worden tokens met een lange levensduur niet meer standaard gemaakt. Kubernetes raadt aan geen tokens met een lange levensduur te gebruiken. Als gevolg hiervan hebben taken die gebruikmaken van een Kubernetes-serviceverbinding die is gemaakt met de optie Azure-abonnement geen toegang tot het permanente token dat is vereist voor verificatie en hebben ze geen toegang tot uw Kubernetes-cluster. Dit resulteert ook in het geblokkeerde dialoogvenster Naamruimten laden .

Azure Resource Manager Service Connection gebruiken om toegang te krijgen tot AKS

Voor AKS-klanten biedt het verbindingstype Azure Resource Manager-service de beste methode om verbinding te maken met een privécluster of een cluster waarvoor lokale accounts zijn uitgeschakeld. Deze methode is niet afhankelijk van de clusterconnectiviteit op het moment dat u een serviceverbinding maakt. Toegang tot AKS wordt uitgesteld tot pijplijnruntime, wat de volgende voordelen heeft:

  • Toegang tot een (privé) AKS-cluster kan worden uitgevoerd vanuit een zelf-hostende of schaalsetagent met zichtlijn naar het cluster.
  • Er wordt een token gemaakt voor elke taak die gebruikmaakt van een Azure Resource Manager serviceverbinding. Dit zorgt ervoor dat u verbinding maakt met Kubernetes met een token met een korte levensduur. Dit is de Kubernetes-aanbeveling.
  • AKS is toegankelijk, zelfs wanneer lokale accounts zijn uitgeschakeld.

Veelgestelde vragen over serviceverbindingen

Ik krijg het volgende foutbericht: Kan geen geheim vinden dat is gekoppeld aan het serviceaccount. Wat gebeurt er?

U gebruikt de kubernetes-serviceverbinding met de optie Azure-abonnement. Deze methode wordt bijgewerkt om tokens met een lange levensduur te maken. Dit is naar verwachting halverwege mei beschikbaar. Het wordt echter aanbevolen om te beginnen met het azure-serviceverbindingstype en niet om tokens met een lange levensduur te gebruiken volgens de Richtlijnen van Kubernetes.

Ik gebruik AKS en wil niets wijzigen. Kan ik taken blijven gebruiken met de Kubernetes-serviceverbinding?

Deze methode wordt bijgewerkt om tokens met een lange levensduur te maken. Dit is naar verwachting halverwege mei beschikbaar. Houd er echter rekening mee dat deze benadering in strijd is met kubernetes-richtlijnen.

Ik gebruik de Kubernetes-taken en kubernetes-serviceverbinding, maar niet AKS. Moet ik me zorgen maken?

Uw taken blijven werken zoals voorheen.

Wordt het verbindingstype van de Kubernetes-service verwijderd?

Onze Kubernetes-taken werken met elk Kubernetes-cluster, ongeacht waar ze worden uitgevoerd. De Kubernetes-serviceverbinding blijft bestaan.

Ik ben een AKS-klant en alles loopt goed, moet ik actie ondernemen?

U hoeft niets te wijzigen. Als u de Kubernetes-serviceverbinding en het geselecteerde Azure-abonnement gebruikt tijdens het maken, moet u rekening houden met de Kubernetes-richtlijnen voor het gebruik van tokens met een lange levensduur.

Ik maak een Kubernetes-omgeving en ik heb geen optie om serviceverbindingen te gebruiken

Als u geen toegang hebt tot uw AKS tijdens het maken van de omgeving, kunt u een lege omgeving gebruiken en de connectionType invoer instellen op een Azure Resource Manager-serviceverbinding.

Ik heb AKS geconfigureerd met Azure Active Directory RBAC en mijn pijplijn werkt niet. Lossen deze updates dit op?

Toegang tot Kubernetes wanneer AAD RBAC is ingeschakeld, is niet gerelateerd aan het maken van tokens. Om een interactieve prompt te voorkomen, ondersteunen we kubelogin in een toekomstige update.

Opdrachtwaarden

De opdrachtinvoer accepteert een van de volgende Helm-opdrachten: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Voorbeelden vindt u in de sectie Voorbeelden .

Elke opdrachtinvoer wordt toegewezen aan een set taakinvoer. De opdrachten die aan een taakinvoer zijn toegewezen, worden aangegeven in het YAML-syntaxisblok en in de tabel met taakinvoer

Problemen oplossen

HelmDeploy-taak genereert de fout 'onbekende vlag: --wait' tijdens het uitvoeren van 'helm init --wait --client-only' op Helm 3.0.2-versie.

Er zijn enkele belangrijke wijzigingen tussen Helm 2 en Helm 3. Een van deze omvat het verwijderen van tiller en daarom helm init wordt de opdracht niet meer ondersteund. Verwijder opdracht init bij gebruik van Helm 3.0-versie en hoger.

Wanneer u Helm 3 gebruikt en System.debug is ingesteld op true en Helm-upgrade de opdracht is die wordt gebruikt, mislukt de pijplijn, ook al is de upgrade geslaagd.

Dit is een bekend probleem bij Helm 3 terwijl er logboeken naar stderr worden geschreven. De Helm-implementatietaak is gemarkeerd als mislukt als er logboeken naar stderr worden geschreven of als de afsluitcode die ongelijk is aan nul. Stel de taakinvoer op failOnStderr: false om de logboeken die naar stderr zijn afgedrukt, te negeren.

Voorbeelden

Azure Resource Manager

In dit YAML-voorbeeld ziet u hoe Azure Resource Manager wordt gebruikt om te verwijzen naar het Kubernetes-cluster. Dit wordt gebruikt met een van de Helm-opdrachten en de juiste waarden die vereist zijn voor de opdracht:

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)

Kubernetes-serviceverbinding

In dit YAML-voorbeeld ziet u hoe de Kubernetes-serviceverbinding wordt gebruikt om te verwijzen naar het Kubernetes-cluster. Dit wordt gebruikt met een van de Helm-opdrachten en de juiste waarden die vereist zijn voor de opdracht:

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

Opdracht

De opdrachtinvoer accepteert een van de volgende Helm-opdrachten: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.

In dit YAML-voorbeeld ziet u de ls-opdracht :

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

opdracht init

In dit YAML-voorbeeld ziet u de opdracht init :

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

installatieopdracht

In dit YAML-voorbeeld ziet u de installatieopdracht :

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

pakketopdracht

In dit YAML-voorbeeld ziet u de pakketopdracht :

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

opdracht upgraden

In dit YAML-voorbeeld ziet u de upgradeopdracht :

- 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

opdracht opslaan

In dit YAML-voorbeeld ziet u de opdracht opslaan :

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

Helm-grafieken verpakken en ondertekenen

In deze sectie leert u hoe u Helm-grafieken in een pijplijn kunt verpakken en ondertekenen.

Een persoonlijk-openbaar sleutelpaar genereren om de Helm-grafiek te ondertekenen met behulp van GPG

  1. Download GPG.

  2. Start de opdrachtprompt in de beheerdersmodus. Voer de volgende opdracht uit om een persoonlijk-openbaar sleutelpaar te genereren om de Helm-grafiek te ondertekenen met behulp van gpg. Tijdens het maken van de sleutel wordt u gevraagd om de gebruikersnaam en het e-mailadres. Het 'naam-e-mailadres' wordt later gebruikt om het persoonlijke en openbare sleutelpaar dat wordt gemaakt, een naam te geven.

    gpg --full-generate-key
    

    Sleutel genereren

  3. U wordt gevraagd om de wachtwoordzin. Geef de waarde op en klik op OK.

    Schermopname van het geven van de wachtwoordzin.

  4. Nadat u de sleutel hebt gemaakt, kunt u de lijst met sleutels zien die zowel privé als openbaar bevat met behulp van de volgende opdracht.

    • Een lijst met persoonlijke sleutels weergeven

      gpg --list-secret-keys
      

      Persoonlijke sleutels

    • De lijst met openbare sleutels weergeven

      gpg --list-keys
      

      Openbare sleutels

  5. Sla de persoonlijke en openbare sleutels op in 2 verschillende bestanden met de extensie gpg , zoals hieronder wordt weergegeven.

    • Voor een persoonlijke sleutel
    gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
    

    U ziet dat het bestand privatekeys.gpg is geëxporteerd naar het pad dat hierboven is vermeld.

    • Voor een openbare sleutel
    gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
    

    U ziet dat het bestand publickey.gpg is geëxporteerd naar het pad dat hierboven is vermeld.

Sla in Azure DevOps het bestand privatekey.gpg op in de sectie beveiligde bestanden van de bibliotheek.

Voorbeeld

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)

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie Alle ondersteunde agentversies.
Taakcategorie Implementeren