Udostępnij za pośrednictwem


HelmDeploy@0 — pakowanie i wdrażanie zadań chart programu Helm w wersji 0

To zadanie służy do wdrażania, konfigurowania lub aktualizowania klastra Kubernetes w usłudze Azure Container Service przez uruchomienie poleceń helm.

To zadanie służy do wdrażania, konfigurowania lub aktualizowania klastra Kubernetes w usłudze Azure Container Service przez uruchomienie poleceń helm.

Składnia

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

Dane wejściowe

connectionType - Typ połączenia
string. Wymagane, gdy command != logout && command != package && command != save. Dozwolone wartości: Azure Resource Manager, Kubernetes Service Connection, None. Wartość domyślna: Azure Resource Manager.

Określa typ połączenia.

  • Kubernetes Service Connection — Określ Kubernetes Service Connection , aby nawiązać połączenie z dowolnym klastrem Kubernetes przy użyciu konta kubeconfig usługi platformy Azure lub konta usługi platformy Azure. Umożliwia podanie pliku KubeConfig, określenie konta usługi lub zaimportowanie wystąpienia usługi AKS z opcją Subskrypcja platformy Azure . Importowanie wystąpienia usługi AKS z opcją Subskrypcja platformy Azure wymaga dostępu do klastra Kubernetes w czasie konfiguracji połączenia z usługą.
  • Azure Resource Manager— OkreślAzure Resource Manager, aby nawiązać połączenie z Azure Kubernetes Service przy użyciu połączenia z usługą platformy Azure. Nie uzyskuje dostępu do klastra Kubernetes w czasie konfiguracji połączenia z usługą.
  • None — Użyj wstępnie utworzonej konfiguracji kubernetes przechowywanej lokalnie.

Aby uzyskać więcej informacji, zobacz Połączenie z usługą w poniższej sekcji Uwagi .


connectionType - Typ połączenia
string. Wymagane, gdy command != logout && command != package. Dozwolone wartości: Azure Resource Manager, Kubernetes Service Connection, None. Wartość domyślna: Azure Resource Manager.

Określa typ połączenia.

  • Kubernetes Service Connection — Określ Kubernetes Service Connection , aby nawiązać połączenie z dowolnym klastrem Kubernetes przy użyciu konta kubeconfig usługi platformy Azure lub konta usługi platformy Azure. Umożliwia podanie pliku KubeConfig, określenie konta usługi lub zaimportowanie wystąpienia usługi AKS z opcją Subskrypcja platformy Azure . Importowanie wystąpienia usługi AKS z opcją Subskrypcja platformy Azure wymaga dostępu do klastra Kubernetes w czasie konfiguracji połączenia z usługą.
  • Azure Resource Manager— OkreślAzure Resource Manager, aby nawiązać połączenie z Azure Kubernetes Service przy użyciu połączenia z usługą platformy Azure. Nie uzyskuje dostępu do klastra Kubernetes w czasie konfiguracji połączenia z usługą.
  • None — Użyj wstępnie utworzonej konfiguracji kubernetes przechowywanej lokalnie.

Aby uzyskać więcej informacji, zobacz Połączenie z usługą w poniższej sekcji Uwagi .


azureSubscription - Subskrypcja platformy Azure
Alias wejściowy: azureSubscriptionEndpoint. string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nazwa połączenia z usługą platformy Azure. Określ subskrypcję platformy Azure, która ma rejestr kontenerów.


azureSubscription - Subskrypcja platformy Azure
Alias wejściowy: azureSubscriptionEndpoint. string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout && command != package.

Nazwa połączenia z usługą platformy Azure. Określ subskrypcję platformy Azure, która ma rejestr kontenerów.


azureResourceGroup - Grupa zasobów
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nazwa grupy zasobów w ramach subskrypcji. Określ grupę zasobów platformy Azure.


azureResourceGroup - Grupa zasobów
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout && command != package.

Nazwa grupy zasobów w ramach subskrypcji. Określ grupę zasobów platformy Azure.


kubernetesCluster - Klaster Kubernetes
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout && command != package && command != save.

Nazwa klastra usługi AKS. Określ klaster zarządzany platformy Azure.


kubernetesCluster - Klaster Kubernetes
string. Wymagane, gdy connectionType = Azure Resource Manager && command != logout && command != package.

Nazwa klastra usługi AKS. Określ klaster zarządzany platformy Azure.


useClusterAdmin - Używanie poświadczeń administratora klastra
boolean. Opcjonalny. Użyj polecenia , gdy connectionType = Azure Resource Manager && command != logout && command != package && command != save. Wartość domyślna: false.

Używa poświadczeń administratora klastra zamiast domyślnych poświadczeń użytkownika klastra.


useClusterAdmin - Używanie poświadczeń administratora klastra
boolean. Opcjonalny. Użyj polecenia , gdy connectionType = Azure Resource Manager && command != logout && command != package. Wartość domyślna: false.

Używa poświadczeń administratora klastra zamiast domyślnych poświadczeń użytkownika klastra.


kubernetesServiceConnection - Połączenie usługi Kubernetes
Alias wejściowy: kubernetesServiceEndpoint. string. Wymagane, gdy connectionType = Kubernetes Service Connection && command != logout && command != package && command != save.

Określa połączenie usługi Kubernetes.


kubernetesServiceConnection - Połączenie usługi Kubernetes
Alias wejściowy: kubernetesServiceEndpoint. string. Wymagane, gdy connectionType = Kubernetes Service Connection && command != logout && command != package.

Określa połączenie usługi Kubernetes.


namespace - Obszaru nazw
string. Opcjonalny. Użyj polecenia , gdy command != logout && command != package && command != save.

Przestrzeń nazw, w której są uruchamiane kubectl polecenia. Jeśli nie zostanie określony, zadanie używa domyślnej przestrzeni nazw. Określ przestrzeń nazw kubernetes do użycia. Przestrzeń nazw Tiller można określić w sekcji zaawansowanej zadania lub przekazując --tiller-namespace opcję jako argument.


namespace - Obszaru nazw
string. Opcjonalny. Użyj polecenia , gdy command != logout && command != package.

Przestrzeń nazw, w której są uruchamiane kubectl polecenia. Jeśli nie zostanie określony, zadanie używa domyślnej przestrzeni nazw. Określ przestrzeń nazw kubernetes do użycia. Przestrzeń nazw Tiller można określić w sekcji zaawansowanej zadania lub przekazując --tiller-namespace opcję jako argument.


azureSubscriptionForACR - Subskrypcja platformy Azure dla usługi Container Registry
Alias wejściowy: azureSubscriptionEndpointForACR. string. Wymagane, gdy command == save.

Określa subskrypcję platformy Azure, która ma Azure Container Registry.


azureResourceGroupForACR - Grupa zasobów
string. Wymagane, gdy command == save.

Określa grupę zasobów platformy Azure, która ma rejestr kontenerów.


azureContainerRegistry - Azure Container Registry
string. Wymagane, gdy command == save.

Określa Azure Container Registry, które mają być używane do wypychania pakietów Helm.


command - Polecenia
string. Wymagane. Dozwolone wartości: create, deleteexposeloginlogoutlspackagegetsaveinituninstallinstallrollbackupgrade. Wartość domyślna: ls.

Określa polecenie helm.


command - Polecenia
string. Wymagane. Dozwolone wartości: create, deleteexposeloginlogoutgetpackageinitsaveinstallrollbacklsupgrade. Wartość domyślna: ls.

Określa polecenie helm.


command - Polecenia
string. Wymagane. Dozwolone wartości: create, deleteexposeloginlogoutgetpackageinitupgradeinstalllsrollback. Wartość domyślna: ls.

Określa polecenie helm.


chartType - Typ wykresu
string. Wymagane, gdy command == install || command == upgrade. Dozwolone wartości: Name, FilePath (Ścieżka pliku). Wartość domyślna: Name.

Określa sposób wprowadzania informacji o wykresie. Możesz podać nazwę wykresu lub folderu/ścieżki pliku do wykresu.


chartName - Nazwa wykresu
string. Wymagane, gdy chartType == Name.

Nazwa odwołania do wykresu do zainstalowania. Może to być adres URL lub nazwa wykresu. Jeśli na przykład nazwa wykresu to stable/mysql, zadanie uruchamia helm install stable/mysqlpolecenie .


chartPath - Ścieżka wykresu
string. Wymagane, gdy chartType == FilePath || command == package.

Ścieżka do wykresu do zainstalowania. Może to być ścieżka do spakowanego wykresu lub ścieżki do rozpakowanego katalogu wykresu. Jeśli na przykład określisz ./rediswartość , zadanie zostanie uruchomione helm install ./redis. Jeśli używasz wykresu opublikowanego jako artefakt, ścieżka będzie następująca $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME: .


chartVersion - Wersja
Alias wejściowy: version. string. Opcjonalny. Użyj polecenia , gdy command == package || command == install || command == upgrade.

Określa dokładną wersję wykresu do zainstalowania. Jeśli nie określisz wersji wykresu, zadanie zainstaluje najnowszą wersję. Ustaw wersję na wykresie na tę wersję programu semver.


chartVersion - Wersja
Alias wejściowy: version. string. Opcjonalny. Użyj polecenia , gdy command == package.

Określa dokładną wersję wykresu do zainstalowania. Jeśli nie określisz wersji wykresu, zadanie zainstaluje najnowszą wersję. Ustaw wersję na wykresie na tę wersję programu semver.


releaseName - Nazwa wydania
string. Opcjonalny. Użyj polecenia , gdy command == install || command == upgrade.

Nazwa wydania. Jeśli nie określisz nazwy wydania, zadanie automatycznie je generuje. Dane releaseName wejściowe są prawidłowe tylko dla install poleceń i upgrade .


overrideValues - Ustawianie wartości
string. Opcjonalny. Użyj polecenia , gdy command == install || command == upgrade.

Określa wartości w wierszu polecenia. Te dane wejściowe mogą określać wiele lub oddzielne wartości z przecinkami: key1=val1,key2=val2.

Można również określić wiele wartości, rozdzielając je nowym wierszem w następujący sposób:

  • key1=val1
  • key2=val2

Jeśli masz wartość zawierającą nowe wiersze, użyj valueFile opcji . W przeciwnym razie zadanie traktuje nowy wiersz jako ogranicznik. Zadanie tworzy polecenie Helm przy użyciu tych ustawionych wartości. Można na przykład ustawić wartość za pomocą polecenia, takiego jak następujące: helm install --set key1=val1 ./redis.


valueFile - Plik wartości
string. Opcjonalny. Użyj polecenia , gdy command == install || command == upgrade.

Określa wartości w pliku YAML lub adresIE URL. Na przykład określenie myvalues.yaml wyników w helm install --values=myvals.yamlpliku .


destination - Docelowy
string. Opcjonalny. Użyj polecenia , gdy command == package. Wartość domyślna: $(Build.ArtifactStagingDirectory).

Określa wartości w pliku YAML lub adresIE URL.


canaryimage - Użyj wersji obrazu kanarowego.
boolean. Opcjonalny. Użyj polecenia , gdy command == init. Wartość domyślna: false.

Określa obraz kanacza Tillera. Użyj najnowszej wersji wstępnej tillera.


upgradetiller - Tiller uaktualniania
boolean. Opcjonalny. Użyj polecenia , gdy command == init. Wartość domyślna: true.

Jeśli trueta wartość wejściowa uaktualnia Tiller, jeśli tiller jest już zainstalowany.


updatedependency - Aktualizowanie zależności
boolean. Opcjonalny. Użyj polecenia , gdy command == install || command == package. Wartość domyślna: false.

Jeśli trueta wartość wejściowa aktualizuje aktualizację zależności programu Helm przed zainstalowaniem wykresu. Aktualizacje zależności z katalogu przed requirements.yaml opakowaniemcharts/.


save - Zapisz
boolean. Opcjonalny. Użyj polecenia , gdy command == package. Wartość domyślna: true.

Zapisuje spakowany wykres w repozytorium wykresu lokalnego po ustawieniu wartości true​.


install - Zainstaluj, jeśli wersja nie istnieje.
boolean. Opcjonalny. Użyj polecenia , gdy command == upgrade. Wartość domyślna: true.

Jeśli wydanie o tej nazwie jeszcze nie istnieje, to dane wejściowe uruchamiają instalację.


recreate - Utwórz ponownie zasobniki.
boolean. Opcjonalny. Użyj polecenia , gdy command == upgrade. Wartość domyślna: false.

Wykonuje ponowne uruchomienie zasobników dla zasobu, jeśli ma to zastosowanie.


resetValues - Resetuj wartości.
boolean. Opcjonalny. Użyj polecenia , gdy command == upgrade. Wartość domyślna: false.

Resetuje wartości do wartości wbudowanych w wykres.


force - Życie
boolean. Opcjonalny. Użyj polecenia , gdy command == upgrade. Wartość domyślna: false.

W razie potrzeby wymusza aktualizację zasobu za pomocą akcji usuwania lub ponownego tworzenia.


waitForExecution - Czekać
boolean. Opcjonalny. Użyj polecenia , gdy command == init || command == install || command == upgrade. Wartość domyślna: true.

Blokuje akcję do momentu ukończenia wykonywania polecenia.


arguments - Argumenty
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout.

Opcje poleceń programu Helm.


enableTls - Włączanie protokołu TLS
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package && command != save. Wartość domyślna: false.

Umożliwia korzystanie z protokołu SSL między programem Helm i tiller.


enableTls - Włączanie protokołu TLS
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package. Wartość domyślna: false.

Umożliwia korzystanie z protokołu SSL między programem Helm i tiller.


caCert - Certyfikat urzędu certyfikacji
string. Wymagane, gdy enableTls == true && command != login && command != logout && command != package && command != save.

Certyfikat urzędu certyfikacji używany do wystawiania certyfikatu dla klienta Tiller i Helm.


caCert - Certyfikat urzędu certyfikacji
string. Wymagane, gdy enableTls == true && command != login && command != logout && command != package.

Certyfikat urzędu certyfikacji używany do wystawiania certyfikatu dla klienta Tiller i Helm.


certificate - Certyfikat
string. Wymagane, gdy enableTls == true && command != login && command != logout && command != package && command != save.

Określ certyfikat Tiller lub certyfikat klienta programu Helm.


certificate - Certyfikat
string. Wymagane, gdy enableTls == true && command != login && command != logout && command != package.

Określ certyfikat Tiller lub certyfikat klienta programu Helm.


privatekey - Klucz
string. Wymagane, gdy enableTls == true && command != login && command != logout && command != package && command != save.

Określ klucz Tiller lub klucz klienta programu Helm.


privatekey - Klucz
string. Wymagane, gdy enableTls == true && command != login && command != logout && command != package.

Określ klucz Tiller lub klucz klienta programu Helm.


tillernamespace - Przestrzeń nazw tillera
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package && command != save.

Określ przestrzeń nazw Kubernetes Platformy Tillera.


tillernamespace - Przestrzeń nazw tillera
string. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package.

Określ przestrzeń nazw Kubernetes Platformy Tillera.


failOnStderr - Błąd standardowy kończy się niepowodzeniem
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package && command != save. Wartość domyślna: false.

Jeśli te dane wejściowe to true, to zadanie kończy się niepowodzeniem, jeśli jakiekolwiek błędy są zapisywane w potoku błędów lub jeśli jakiekolwiek dane są zapisywane w strumieniu błędów w warstwie Standardowa. W przeciwnym razie zadanie opiera się na kodzie zakończenia w celu określenia błędu.


failOnStderr - Błąd standardowy kończy się niepowodzeniem
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package. Wartość domyślna: true.

Jeśli te dane wejściowe to true, to zadanie kończy się niepowodzeniem, jeśli jakiekolwiek błędy są zapisywane w potoku błędów lub jeśli jakiekolwiek dane są zapisywane w strumieniu błędów w warstwie Standardowa. W przeciwnym razie zadanie opiera się na kodzie zakończenia w celu określenia błędu.


publishPipelineMetadata - Publikowanie metadanych potoku
boolean. Opcjonalny. Użyj polecenia , gdy command != login && command != logout && command != package && command != save. Wartość domyślna: true.

Jeśli te dane wejściowe to true, zadanie zbiera i publikuje metadane wdrożenia.


chartNameForACR - Nazwa wykresu dla Azure Container Registry
string. Wymagane, gdy command == save.

Nazwa wykresu w Azure Container Registry.


chartPathForACR - Ścieżka wykresu dla Azure Container Registry
string. Wymagane, gdy command == save.

Ścieżka pliku do katalogu chart w Azure Container Registry.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

To zadanie definiuje następujące zmienne wyjściowe, które można używać w krokach podrzędnych, zadaniach i etapach.

helmExitCode
Kod zakończenia emitowany z wykonywania określonego polecenia programu Helm.

helmOutput
Dane wyjściowe emitowane z wykonania określonego polecenia helm.

Brak.

Uwagi

Użyj HelmDeploy@0, aby wdrożyć, skonfigurować lub zaktualizować klaster Kubernetes w usłudze Azure Container Service, uruchamiając polecenia programu Helm. Helm to narzędzie usprawniające wdrażanie aplikacji Kubernetes i zarządzanie nimi przy użyciu formatu pakietów nazywanego wykresami.

Możesz zdefiniować, wersję, udostępnić, zainstalować i uaktualnić nawet najbardziej złożoną aplikację Kubernetes przy użyciu narzędzia Helm.

  • Program Helm ułatwia łączenie wielu manifestów platformy Kubernetes (yaml), takich jak usługa, wdrożenia, mapy konfiguracji i nie tylko w jedną jednostkę o nazwie Helm Charts. Nie musisz wymyślać ani używać tokenizacji ani narzędzia do tworzenia szablonów.
  • Pakiety Helm ułatwiają zarządzanie zależnościami aplikacji i wdrażaniem, a także wycofywaniem w ramach lekcji. Są one również łatwe do tworzenia, wersji, publikowania i udostępniania innym zespołom partnerskim.

Usługa Azure Pipelines ma wbudowaną obsługę wykresów helm:

  • Zadanie instalatora narzędzia Helm może służyć do instalowania poprawnej wersji programu Helm na agentach.
  • Zadanie pakietu Helm i wdrożenia może służyć do spakowania aplikacji i wdrażania jej w klastrze Kubernetes. Za pomocą zadania można zainstalować lub zaktualizować tiller do przestrzeni nazw Kubernetes, aby bezpiecznie nawiązać połączenie z usługą Tiller za pośrednictwem protokołu TLS na potrzeby wdrażania wykresów lub uruchomić dowolne polecenie programu Helm, takie jak lint.
  • Zadanie helm obsługuje nawiązywanie połączenia z Azure Kubernetes Service przy użyciu połączenia z usługą platformy Azure. Możesz nawiązać połączenie z dowolnym klastrem Kubernetes przy użyciu narzędzia kubeconfig lub konta usługi.
  • Wdrożenia programu Helm można uzupełnić przy użyciu zadania Kubectl ; na przykład create/update, imagepullsecret i inne.

Połączenie z usługą

HelmDeploy@0 współdziała z dwoma typami połączeń z usługami: Azure Resource Manager i Kubernetes Service Connection. Zobacz Przykłady dotyczące konfigurowania tych dwóch typów połączeń.

Uwaga

Połączenie z usługą nie jest wymagane, jeśli zasób środowiska wskazujący klaster Kubernetes został już określony na etapie potoku.

Zagadnienia dotyczące połączenia z usługą Kubernetes Podczas uzyskiwania dostępu do usługi AKS

Możesz utworzyć połączenie usługi Kubernetes z dowolną z poniższych opcji.

  • KubeConfig
  • Konto usługi
  • Subskrypcja platformy Azure

Zrzut ekranu przedstawiający wybieranie metody uwierzytelniania połączenia z usługą Kubernetes.

Podczas wybierania opcji Subskrypcja platformy Azure platforma Kubernetes musi być dostępna dla usługi Azure DevOps w czasie konfiguracji połączenia z usługą. Mogą wystąpić różne przyczyny, dla których nie można utworzyć połączenia z usługą, na przykład utworzono klaster prywatny lub klaster ma wyłączone konta lokalne. W takich przypadkach usługa Azure DevOps nie może nawiązać połączenia z klastrem w czasie konfiguracji połączenia z usługą i zostanie wyświetlony ekran Ładowanie przestrzeni nazw .

Zrzut ekranu przedstawiający wybieranie okna dialogowego uwierzytelniania połączenia usługi Kubernetes zablokowanego podczas ładowania przestrzeni nazw.

Począwszy od platformy Kubernetes 1.24, długotrwałe tokeny nie są już domyślnie tworzone. Platforma Kubernetes zaleca, aby nie używać tokenów długotrwałych. W związku z tym zadania korzystające z połączenia usługi Kubernetes utworzonego z opcją Subskrypcja platformy Azure nie mają dostępu do tokenu trwałego wymaganego do uwierzytelnienia i nie mogą uzyskać dostępu do klastra Kubernetes. Spowoduje to również zablokowanie okna dialogowego Ładowanie przestrzeni nazw .

Uzyskiwanie dostępu do usługi AKS przy użyciu połączenia usługi Azure Resource Manager Service

W przypadku klientów usługi AKS typ połączenia usługi Azure Resource Manager zapewnia najlepszą metodę nawiązywania połączenia z klastrem prywatnym lub klastrem, który ma wyłączone konta lokalne. Ta metoda nie jest zależna od łączności klastra podczas tworzenia połączenia z usługą. Dostęp do usługi AKS jest odroczony do środowiska uruchomieniowego potoku, co ma następujące zalety:

  • Dostęp do klastra usługi AKS (prywatnego) można wykonać z własnego agenta lub zestawu skalowania z zasięgiem wzroku do klastra.
  • Token jest tworzony dla każdego zadania, które korzysta z połączenia usługi Azure Resource Manager. Gwarantuje to nawiązanie połączenia z platformą Kubernetes przy użyciu krótkotrwałego tokenu, który jest zaleceniem platformy Kubernetes.
  • Dostęp do usługi AKS można uzyskać nawet wtedy, gdy konta lokalne są wyłączone.

Często zadawane pytania dotyczące połączenia z usługą

Otrzymuję następujący komunikat o błędzie: Nie można odnaleźć żadnego wpisu tajnego skojarzonego z kontem usługi. Co się dzieje?

Używasz połączenia usługi Kubernetes z opcją Subskrypcja platformy Azure. Aktualizujemy tę metodę w celu utworzenia tokenów długotrwałych. Oczekuje się, że będzie to dostępne w połowie maja. Zaleca się jednak rozpoczęcie korzystania z typu połączenia z usługą platformy Azure, a nie używanie tokenów długotrwałych zgodnie ze wskazówkami dotyczącymi platformy Kubernetes.

Używam usługi AKS i nie chcę nic zmieniać. Czy mogę nadal używać zadań z połączeniem usługi Kubernetes?

Aktualizujemy tę metodę w celu utworzenia tokenów długotrwałych. Oczekuje się, że będzie to dostępne w połowie maja. Należy jednak pamiętać, że takie podejście jest sprzeczne ze wskazówkami dotyczącymi platformy Kubernetes.

Używam zadań platformy Kubernetes i połączenia usługi Kubernetes, ale nie usługi AKS. Czy powinienem się martwić?

Zadania będą nadal działać tak jak poprzednio.

Czy typ połączenia usługi Kubernetes zostanie usunięty?

Nasze zadania kubernetes działają z dowolnym klastrem Kubernetes, niezależnie od tego, gdzie są uruchomione. Połączenie usługi Kubernetes będzie nadal istnieć.

Jestem klientem usługi AKS i wszystko działa prawidłowo, czy powinienem działać?

Nie trzeba nic zmieniać. Jeśli używasz połączenia usługi Kubernetes i wybranej subskrypcji platformy Azure podczas tworzenia, pamiętaj o wskazówkach dotyczących platformy Kubernetes dotyczących korzystania z tokenów długotrwałych.

Tworzysz środowisko Kubernetes i nie mam możliwości korzystania z połączeń z usługami

Jeśli nie możesz uzyskać dostępu do usługi AKS w czasie tworzenia środowiska, możesz użyć pustego środowiska i ustawić connectionType dane wejściowe na połączenie usługi Azure Resource Manager.

Mam skonfigurowaną usługę AKS z kontrolą dostępu opartą na rolach usługi Azure Active Directory, a mój potok nie działa. Czy te aktualizacje rozwiążą ten problem?

Uzyskiwanie dostępu do platformy Kubernetes w przypadku włączenia kontroli dostępu opartej na rolach usługi AAD nie jest związane z tworzeniem tokenów. Aby zapobiec monitowi interaktywnemu, będziemy obsługiwać rozwiązanie kubelogin w przyszłej aktualizacji.

Wartości poleceń

Dane wejściowe polecenia akceptują jedno z następujących poleceń helm: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Przykłady znajdują się w sekcji Przykłady .

Każde polecenie wejściowe mapuje na zestaw danych wejściowych zadań. Polecenia mapowane na dane wejściowe zadania są wyznaczane w bloku składni YAML i w tabeli danych wejściowych zadań

Rozwiązywanie problemów

Zadanie HelmDeploy zgłasza błąd "nieznana flaga: --wait" podczas uruchamiania polecenia "helm init --wait --client-only" w programie Helm 3.0.2.

Istnieją pewne przełomowe zmiany między programem Helm 2 i programem Helm 3. Jeden z nich obejmuje usunięcie tiller, a więc helm init polecenie nie jest już obsługiwane. Usuń polecenie: init, gdy używasz rozwiązania Helm w wersji 3.0 lub nowszej.

W przypadku korzystania z programu Helm 3, jeśli parametr System.debug jest ustawiony na wartość true, a uaktualnienie programu Helm to używane polecenie, potok kończy się niepowodzeniem, mimo że uaktualnienie zakończyło się pomyślnie.

Jest to znany problem w rozwiązaniu Helm 3, ponieważ niektóre dzienniki są zapisywane w elemencie stderr. Zadanie wdrażania rozwiązania Helm jest oznaczone jako zakończone niepowodzeniem, jeśli istnieją dzienniki stderr lub kod zakończenia jest różny od zera. Ustaw dane wejściowe zadania failOnStderr: false, aby zignorować dzienniki wyprowadzone do elementu stderr.

Przykłady

Azure Resource Manager

W tym przykładzie YAML pokazano, jak usługa Azure Resource Manager jest używana do odwoływania się do klastra Kubernetes. Jest to używane z jednym z poleceń helm i odpowiednimi wartościami wymaganymi dla polecenia:

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)

Połączenie usługi Kubernetes

W tym przykładzie YAML pokazano, jak jest używane połączenie usługi Kubernetes w celu odwoływania się do klastra Kubernetes. Jest to używane z jednym z poleceń helm i odpowiednimi wartościami wymaganymi dla polecenia:

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

Polecenia

Dane wejściowe polecenia akceptują jedno z następujących poleceń helm: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.

W tym przykładzie YAML pokazano polecenie ls :

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

init , polecenie

W tym przykładzie YAML pokazano polecenie init :

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

install — polecenie

W tym przykładzie YAML pokazano polecenie instalacji :

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

package , polecenie

W tym przykładzie YAML pokazano polecenie pakietu :

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

upgrade — polecenie

W tym przykładzie YAML pokazano polecenie uaktualniania :

- 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

zapisz polecenie

W tym przykładzie YAML pokazano polecenie zapisywania :

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

Tworzenie pakietów i podpisywanie pakietów Helm

W tej sekcji dowiesz się, jak pakować i podpisywać wykresy Helm w potoku.

Generowanie pary kluczy prywatnych w celu podpisania wykresu helm przy użyciu grupy zasad grupy

  1. Pobierz grupę ZASAD GRUPY.

  2. Uruchom wiersz polecenia w trybie administratora. Uruchom następujące polecenie, aby wygenerować parę kluczy prywatnych i publicznych w celu podpisania wykresu helm przy użyciu narzędzia gpg. Podczas tworzenia klucza zostanie wyświetlony monit o podanie nazwy użytkownika i adresu e-mail. Nazwa adresu e-mail jest później używana do nazywania utworzonej pary kluczy prywatnych.

    gpg --full-generate-key
    

    Generowanie klucza

  3. Zostanie wyświetlony monit o podanie hasła. Nadaj wartość i kliknij przycisk OK.

    Zrzut ekranu przedstawiający podanie hasła.

  4. Po utworzeniu klucza można wyświetlić listę kluczy, które zawierają zarówno prywatne, jak i publiczne, przy użyciu następującego polecenia.

    • Aby wyświetlić listę kluczy prywatnych

      gpg --list-secret-keys
      

      Klucze prywatne

    • Aby wyświetlić listę kluczy publicznych

      gpg --list-keys
      

      Klucze publiczne

  5. Zapisz klucze prywatne i publiczne w 2 różnych plikach z rozszerzeniem gpg , jak pokazano poniżej.

    • W przypadku klucza prywatnego
    gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
    

    Zobaczysz plik privatekeys.gpg wyeksportowany do ścieżki, która została wymieniona powyżej.

    • Klucz publiczny
    gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
    

    Zobaczysz plik publickey.gpg wyeksportowany do ścieżki, która została wymieniona powyżej.

W usłudze Azure DevOps zapisz plik privatekey.gpg w sekcji bezpiecznych plików biblioteki.

Przykład

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)

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa w Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne ustawialne Dowolne
Wersja agenta Wszystkie obsługiwane wersje agenta.
Kategoria zadania Wdrażanie