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ślKubernetes Service Connection
, aby nawiązać połączenie z dowolnym klastrem Kubernetes przy użyciu kontakubeconfig
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ślKubernetes Service Connection
, aby nawiązać połączenie z dowolnym klastrem Kubernetes przy użyciu kontakubeconfig
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
, delete
expose
login
logout
ls
package
get
save
init
uninstall
install
rollback
upgrade
. Wartość domyślna: ls
.
Określa polecenie helm.
command
- Polecenia
string
. Wymagane. Dozwolone wartości: create
, delete
expose
login
logout
get
package
init
save
install
rollback
ls
upgrade
. Wartość domyślna: ls
.
Określa polecenie helm.
command
- Polecenia
string
. Wymagane. Dozwolone wartości: create
, delete
expose
login
logout
get
package
init
upgrade
install
ls
rollback
. 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/mysql
polecenie .
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 ./redis
wartość , 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.yaml
pliku .
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 true
ta 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 true
ta 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
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 .
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
Pobierz grupę ZASAD GRUPY.
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
Zostanie wyświetlony monit o podanie hasła. Nadaj wartość i kliknij przycisk OK.
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
Aby wyświetlić listę kluczy publicznych
gpg --list-keys
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 |