HelmDeploy@0 – Paketera och distribuera Helm-diagram v0-uppgift
Använd den här uppgiften för att distribuera, konfigurera eller uppdatera ett Kubernetes-kluster i Azure Container Service genom att köra Helm-kommandon.
Använd den här uppgiften för att distribuera, konfigurera eller uppdatera ditt Kubernetes-kluster i Azure Container Service genom att köra Helm-kommandon.
Syntax
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace.
# Azure Container Registry
#azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry.
#azureResourceGroupForACR: # string. Required when command == save. Resource group.
#azureContainerRegistry: # string. Required when command == save. Azure Container Registry.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | 'upgrade' | 'uninstall'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
#chartNameForACR: # string. Required when command == save. Chart Name For Azure Container Registry.
#chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace.
#failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
#publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace.
# Azure Container Registry
#azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry.
#azureResourceGroupForACR: # string. Required when command == save. Resource group.
#azureContainerRegistry: # string. Required when command == save. Azure Container Registry.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
#chartNameForACR: # string. Required when command == save. Chart Name For Azure Container Registry.
#chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace.
#failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
#publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
#failOnStderr: true # boolean. Optional. Use when command != login && command != logout && command != package. Fail on Standard Error. Default: true.
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
# Package and deploy Helm charts v0
# Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package. Namespace.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace.
Indata
connectionType
- Anslutningstyp
string
. Krävs när command != logout && command != package && command != save
. Tillåtna värden: Azure Resource Manager
, Kubernetes Service Connection
, None
. Standardvärde: Azure Resource Manager
.
Anger anslutningstypen.
Kubernetes Service Connection
– AngeKubernetes Service Connection
för att ansluta till alla Kubernetes-kluster med hjälpkubeconfig
av eller Azure-tjänstkontot. Gör att du kan ange en KubeConfig-fil, ange ett tjänstkonto eller importera en AKS-instans med alternativet Azure-prenumeration . Om du importerar en AKS-instans med alternativet Azure-prenumeration krävs Kubernetes-klusteråtkomst vid konfigurationstiden för tjänstanslutningen.Azure Resource Manager
– AngeAzure Resource Manager
för att ansluta till en Azure Kubernetes Service med hjälp av Azure-tjänstanslutning. Har inte åtkomst till Kubernetes-kluster vid konfigurationstiden för tjänstanslutningen.None
– Använd en i förväg skapad Kubernetes-konfiguration som lagras lokalt.
Mer information finns i Tjänstanslutning i följande avsnitt Kommentarer .
connectionType
- Anslutningstyp
string
. Krävs när command != logout && command != package
. Tillåtna värden: Azure Resource Manager
, Kubernetes Service Connection
, None
. Standardvärde: Azure Resource Manager
.
Anger anslutningstypen.
Kubernetes Service Connection
– AngeKubernetes Service Connection
för att ansluta till alla Kubernetes-kluster med hjälpkubeconfig
av eller Azure-tjänstkontot. Gör att du kan ange en KubeConfig-fil, ange ett tjänstkonto eller importera en AKS-instans med alternativet Azure-prenumeration . Om du importerar en AKS-instans med alternativet Azure-prenumeration krävs Kubernetes-klusteråtkomst vid konfigurationstiden för tjänstanslutningen.Azure Resource Manager
– AngeAzure Resource Manager
för att ansluta till en Azure Kubernetes Service med hjälp av Azure-tjänstanslutning. Har inte åtkomst till Kubernetes-kluster vid konfigurationstiden för tjänstanslutningen.None
– Använd en i förväg skapad Kubernetes-konfiguration som lagras lokalt.
Mer information finns i Tjänstanslutning i följande avsnitt Kommentarer .
azureSubscription
- Azure-prenumeration
Indataalias: azureSubscriptionEndpoint
. string
. Krävs när connectionType = Azure Resource Manager && command != logout && command != package && command != save
.
Namnet på Azure-tjänstanslutningen. Ange en Azure-prenumeration som har ditt containerregister.
azureSubscription
- Azure-prenumeration
Indataalias: azureSubscriptionEndpoint
. string
. Krävs när connectionType = Azure Resource Manager && command != logout && command != package
.
Namnet på Azure-tjänstanslutningen. Ange en Azure-prenumeration som har ditt containerregister.
azureResourceGroup
- Resursgrupp
string
. Krävs när connectionType = Azure Resource Manager && command != logout && command != package && command != save
.
Namnet på resursgruppen i prenumerationen. Ange en Azure-resursgrupp.
azureResourceGroup
- Resursgrupp
string
. Krävs när connectionType = Azure Resource Manager && command != logout && command != package
.
Namnet på resursgruppen i prenumerationen. Ange en Azure-resursgrupp.
kubernetesCluster
- Kubernetes-kluster
string
. Krävs när connectionType = Azure Resource Manager && command != logout && command != package && command != save
.
Namnet på AKS-klustret. Ange ett Azure-hanterat kluster.
kubernetesCluster
- Kubernetes-kluster
string
. Krävs när connectionType = Azure Resource Manager && command != logout && command != package
.
Namnet på AKS-klustret. Ange ett Azure-hanterat kluster.
useClusterAdmin
- Använda autentiseringsuppgifter för klusteradministratör
boolean
. Valfritt. Använd när connectionType = Azure Resource Manager && command != logout && command != package && command != save
. Standardvärde: false
.
Använder autentiseringsuppgifter för klusteradministratör i stället för standardautentiseringsuppgifter för klusteranvändare.
useClusterAdmin
- Använda autentiseringsuppgifter för klusteradministratör
boolean
. Valfritt. Använd när connectionType = Azure Resource Manager && command != logout && command != package
. Standardvärde: false
.
Använder autentiseringsuppgifter för klusteradministratör i stället för standardautentiseringsuppgifter för klusteranvändare.
kubernetesServiceConnection
- Kubernetes-tjänstanslutning
Indataalias: kubernetesServiceEndpoint
. string
. Krävs när connectionType = Kubernetes Service Connection && command != logout && command != package && command != save
.
Anger en Kubernetes-tjänstanslutning.
kubernetesServiceConnection
- Kubernetes-tjänstanslutning
Indataalias: kubernetesServiceEndpoint
. string
. Krävs när connectionType = Kubernetes Service Connection && command != logout && command != package
.
Anger en Kubernetes-tjänstanslutning.
namespace
- Namnområde
string
. Valfritt. Använd när command != logout && command != package && command != save
.
Namnområdet där du kör kommandona kubectl
. Om inget anges använder aktiviteten standardnamnområdet. Ange det Kubernetes-namnområde som ska användas. Du kan ange Tiller-namnområdet i det avancerade avsnittet av aktiviteten eller genom att skicka --tiller-namespace
alternativet som ett argument.
namespace
- Namnområde
string
. Valfritt. Använd när command != logout && command != package
.
Namnområdet där du kör kommandona kubectl
. Om inget anges använder aktiviteten standardnamnområdet. Ange det Kubernetes-namnområde som ska användas. Du kan ange Tiller-namnområdet i det avancerade avsnittet av aktiviteten eller genom att skicka --tiller-namespace
alternativet som ett argument.
azureSubscriptionForACR
- Azure-prenumeration för Container Registry
Indataalias: azureSubscriptionEndpointForACR
. string
. Krävs när command == save
.
Anger en Azure-prenumeration som har din Azure Container Registry.
azureResourceGroupForACR
- Resursgrupp
string
. Krävs när command == save
.
Anger en Azure-resursgrupp som har ditt containerregister.
azureContainerRegistry
- Azure Container Registry
string
. Krävs när command == save
.
Anger en Azure Container Registry som ska användas för att push-överföra Helm-diagram.
command
- Kommandot
string
. Krävs. Tillåtna värden: create
, delete
, expose
, get
, install
init
, , logout
login
, ls
, package
, rollback
, save
, upgrade
, , uninstall
. Standardvärde: ls
.
Anger ett Helm-kommando.
command
- Kommandot
string
. Krävs. Tillåtna värden: create
, delete
, expose
, get
, install
init
, , login
, ls
logout
, package
, rollback
, save
, . upgrade
Standardvärde: ls
.
Anger ett Helm-kommando.
command
- Kommandot
string
. Krävs. Tillåtna värden: create
, delete
, expose
, get
, init
, install
, login
, ls
logout
, package
, , rollback
. upgrade
Standardvärde: ls
.
Anger ett Helm-kommando.
chartType
- Diagramtyp
string
. Krävs när command == install || command == upgrade
. Tillåtna värden: Name
, FilePath
(Filsökväg). Standardvärde: Name
.
Anger hur du vill ange diagraminformation. Du kan antingen ange namnet på diagrammet eller mapp-/filsökvägen till diagrammet.
chartName
- Diagramnamn
string
. Krävs när chartType == Name
.
Namnet på diagramreferensen som ska installeras. Det kan vara en URL eller ett diagramnamn. Om diagramnamnet till exempel är stable/mysql
körs helm install stable/mysql
aktiviteten .
chartPath
- Diagramsökväg
string
. Krävs när chartType == FilePath || command == package
.
Sökvägen till diagrammet som ska installeras. Detta kan vara en sökväg till ett paketerat diagram eller en sökväg till en uppackad diagramkatalog. Om du till exempel anger ./redis
kör helm install ./redis
aktiviteten . Om du använder ett diagram som publiceras som en artefakt blir $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME
sökvägen .
chartVersion
- Version
Indataalias: version
. string
. Valfritt. Använd när command == package || command == install || command == upgrade
.
Anger den exakta diagramversion som ska installeras. Om du inte anger diagramversionen installerar uppgiften den senaste versionen. Ställ in versionen i diagrammet på den här semver-versionen.
chartVersion
- Version
Indataalias: version
. string
. Valfritt. Använd när command == package
.
Anger den exakta diagramversion som ska installeras. Om du inte anger diagramversionen installerar uppgiften den senaste versionen. Ställ in versionen i diagrammet på den här semver-versionen.
releaseName
- Versionsnamn
string
. Valfritt. Använd när command == install || command == upgrade
.
Versionsnamnet. Om du inte anger versionsnamnet genereras en uppgift automatiskt åt dig. Indata releaseName
är endast giltiga för install
kommandona och upgrade
.
overrideValues
- Ange värden
string
. Valfritt. Använd när command == install || command == upgrade
.
Anger värden på kommandoraden. Dessa indata kan ange flera eller separata värden med kommatecken: key1=val1,key2=val2
.
Du kan också ange flera värden genom att avgränsa dem med en ny rad på följande sätt:
- key1=val1
- key2=val2
Om du har ett värde som innehåller nya rader använder du valueFile
alternativet . Annars behandlar aktiviteten den nya raden som en avgränsare. Uppgiften konstruerar Helm-kommandot med hjälp av dessa uppsättningsvärden. Du kan till exempel ange värdet med hjälp av ett kommando som liknar följande: helm install --set key1=val1 ./redis
.
valueFile
- Värdefil
string
. Valfritt. Använd när command == install || command == upgrade
.
Anger värden i en YAML-fil eller en URL. Du kan till exempel ange myvalues.yaml
resultat i helm install --values=myvals.yaml
.
destination
- Destination
string
. Valfritt. Använd när command == package
. Standardvärde: $(Build.ArtifactStagingDirectory)
.
Anger värden i en YAML-fil eller en URL.
canaryimage
- Använd canary-avbildningsversion.
boolean
. Valfritt. Använd när command == init
. Standardvärde: false
.
Anger canary Tiller-avbildningen. Använd den senaste förhandsversionen av Tiller.
upgradetiller
- Uppgradera Tiller
boolean
. Valfritt. Använd när command == init
. Standardvärde: true
.
Om true
uppgraderar den här indatan Tiller om Tiller redan är installerat.
updatedependency
- Uppdatera beroende
boolean
. Valfritt. Använd när command == install || command == package
. Standardvärde: false
.
Om true
uppdaterar den här indatan en Helm-beroendeuppdatering innan diagrammet installeras. Uppdateringar beroenden från requirements.yaml
till charts/
katalogen innan du paketerar.
save
- Spara
boolean
. Valfritt. Använd när command == package
. Standardvärde: true
.
Sparar det paketerade diagrammet på lagringsplatsen för det lokala diagrammet när det är inställt på true
.
install
- Installera om versionen inte finns.
boolean
. Valfritt. Använd när command == upgrade
. Standardvärde: true
.
Om det inte redan finns någon version med det här namnet körs en installation.
recreate
- Återskapa poddar.
boolean
. Valfritt. Använd när command == upgrade
. Standardvärde: false
.
Utför omstart av poddar för resursen, om tillämpligt.
resetValues
- Återställ värden.
boolean
. Valfritt. Använd när command == upgrade
. Standardvärde: false
.
Återställer värdena till de värden som är inbyggda i diagrammet.
force
- Kraft
boolean
. Valfritt. Använd när command == upgrade
. Standardvärde: false
.
Framtvingar en resursuppdatering genom en borttagnings- eller återskapandeåtgärd om det behövs.
waitForExecution
- Vänta
boolean
. Valfritt. Använd när command == init || command == install || command == upgrade
. Standardvärde: true
.
Blockerar åtgärden tills kommandokörningen har slutförts.
arguments
- Argument
string
. Valfritt. Använd när command != login && command != logout
.
Helm-kommandoalternativen.
enableTls
- Aktivera TLS
boolean
. Valfritt. Använd när command != login && command != logout && command != package && command != save
. Standardvärde: false
.
Aktiverar användning av SSL mellan Helm och Tiller.
enableTls
- Aktivera TLS
boolean
. Valfritt. Använd när command != login && command != logout && command != package
. Standardvärde: false
.
Aktiverar användning av SSL mellan Helm och Tiller.
caCert
- CA-certifikat
string
. Krävs när enableTls == true && command != login && command != logout && command != package && command != save
.
CA-certifikatet som används för att utfärda ett certifikat för Tiller- och Helm-klienten.
caCert
- CA-certifikat
string
. Krävs när enableTls == true && command != login && command != logout && command != package
.
CA-certifikatet som används för att utfärda ett certifikat för Tiller- och Helm-klienten.
certificate
- Certifikat
string
. Krävs när enableTls == true && command != login && command != logout && command != package && command != save
.
Ange Tiller-certifikatet eller Helm-klientcertifikatet.
certificate
- Certifikat
string
. Krävs när enableTls == true && command != login && command != logout && command != package
.
Ange Tiller-certifikatet eller Helm-klientcertifikatet.
privatekey
- Nyckel
string
. Krävs när enableTls == true && command != login && command != logout && command != package && command != save
.
Ange Tiller-nyckeln eller Helm-klientnyckeln.
privatekey
- Nyckel
string
. Krävs när enableTls == true && command != login && command != logout && command != package
.
Ange Tiller-nyckeln eller Helm-klientnyckeln.
tillernamespace
- Tiller-namnrymd
string
. Valfritt. Använd när command != login && command != logout && command != package && command != save
.
Ange Tiller-kubernetes-namnrymd.
tillernamespace
- Tiller-namnrymd
string
. Valfritt. Använd när command != login && command != logout && command != package
.
Ange Tiller-kubernetes-namnrymd.
failOnStderr
- Fel vid standardfel
boolean
. Valfritt. Använd när command != login && command != logout && command != package && command != save
. Standardvärde: false
.
Om den här indatan är true
misslyckas den här aktiviteten om några fel skrivs till felpipelinen eller om några data skrivs till standardfelströmmen. Annars förlitar sig uppgiften på slutkoden för att fastställa felet.
failOnStderr
- Fel vid standardfel
boolean
. Valfritt. Använd när command != login && command != logout && command != package
. Standardvärde: true
.
Om den här indatan är true
misslyckas den här aktiviteten om några fel skrivs till felpipelinen eller om några data skrivs till standardfelströmmen. Annars förlitar sig uppgiften på slutkoden för att fastställa felet.
publishPipelineMetadata
- Publicera pipelinemetadata
boolean
. Valfritt. Använd när command != login && command != logout && command != package && command != save
. Standardvärde: true
.
Om dessa indata är true
samlar uppgiften in och publicerar distributionsmetadata.
chartNameForACR
- Diagramnamn för Azure Container Registry
string
. Krävs när command == save
.
Diagrammets namn i Azure Container Registry.
chartPathForACR
- Diagramsökväg för Azure Container Registry
string
. Krävs när command == save
.
Filsökvägen till diagramkatalogen i Azure Container Registry.
Kontrollalternativ för aktivitet
Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Den här aktiviteten definierar följande utdatavariabler, som du kan använda i underordnade steg, jobb och faser.
helmExitCode
Slutkoden som genereras från körningen av det angivna Helm-kommandot.
helmOutput
Utdata som genereras från körningen av det angivna Helm-kommandot.
Inga.
Kommentarer
Använd HelmDeploy@0 för att distribuera, konfigurera eller uppdatera ett Kubernetes-kluster i Azure Container Service genom att köra Helm-kommandon. Helm är ett verktyg som effektiviserar distributionen och hanteringen av Kubernetes-appar med ett paketeringsformat som kallas diagram.
Du kan definiera, version, dela, installera och uppgradera även den mest komplexa Kubernetes-appen med hjälp av Helm.
- Helm hjälper dig att kombinera flera Kubernetes-manifest (yaml) som tjänst, distributioner, konfigurationsmappar med mera i en enda enhet som kallas Helm-diagram. Du behöver inte uppfinna eller använda en tokenisering eller ett mallverktyg.
- Helm-diagram hjälper dig att hantera programberoenden och distribuera samt återställning som en enhet. De är också enkla att skapa, versionshanteras, publicera och dela med andra partnerteam.
Azure Pipelines har inbyggt stöd för Helm-diagram:
- Helm Tool Installer-uppgiften kan användas för att installera rätt version av Helm på agenterna.
- Helm-paketet och distributionsuppgiften kan användas för att paketera appen och distribuera den till ett Kubernetes-kluster. Du kan använda uppgiften för att installera eller uppdatera Tiller till ett Kubernetes-namnområde, för att på ett säkert sätt ansluta till Tiller via TLS för distribution av diagram eller för att köra ett Helm-kommando, till exempel lint.
- Helm-uppgiften stöder anslutning till en Azure Kubernetes Service med hjälp av en Azure-tjänstanslutning. Du kan ansluta till valfritt Kubernetes-kluster med hjälp av kubeconfig eller ett tjänstkonto.
- Helm-distributioner kan kompletteras med hjälp av Kubectl-uppgiften . till exempel skapa/uppdatera, imagepullsecret och andra.
Tjänstanslutning
HelmDeploy@0 fungerar med två tjänstanslutningstyper: Azure Resource Manager och Kubernetes Service Connection. Exempel på hur du konfigurerar dessa två anslutningstyper finns i Exempel .
Anteckning
En tjänstanslutning krävs inte om en miljöresurs som pekar på ett Kubernetes-kluster redan har angetts i pipelinens fas.
Överväganden för Kubernetes-tjänstanslutning vid åtkomst till AKS
Du kan skapa en Kubernetes-tjänstanslutning med något av följande alternativ.
- KubeConfig
- Tjänstkonto
- Azure Subscription (Azure-prenumeration)
När du väljer alternativet Azure-prenumeration måste Kubernetes vara tillgängligt för Azure DevOps vid konfigurationstiden för tjänstanslutningen. Det kan finnas olika orsaker till att det inte går att skapa en tjänstanslutning, till exempel att du har skapat ett privat kluster eller att klustret har inaktiverat lokala konton. I dessa fall kan Azure DevOps inte ansluta till klustret vid konfigurationstiden för tjänstanslutningen, och du ser en skärm för inläsning av namnrymder som fastnat .
Från och med Kubernetes 1.24 skapas inte längre långlivade token som standard. Kubernetes rekommenderar att du inte använder långlivade token. Därför har uppgifter som använder en Kubernetes-tjänstanslutning som skapats med alternativet Azure-prenumeration inte åtkomst till den permanenta token som krävs för att autentisera och kan inte komma åt ditt Kubernetes-kluster. Detta resulterar också i dialogrutan Låst inläsning av namnrymder .
Använda Azure Resource Manager-tjänstanslutningen för att få åtkomst till AKS
För AKS-kunder är anslutningstypen för Azure Resource Manager-tjänsten den bästa metoden för att ansluta till ett privat kluster eller ett kluster som har inaktiverat lokala konton. Den här metoden är inte beroende av klusteranslutningen när du skapar en tjänstanslutning. Åtkomsten till AKS skjuts upp till pipelinekörning, vilket har följande fördelar:
- Åtkomst till ett (privat) AKS-kluster kan utföras från en lokalt installerad agent eller skalningsuppsättningsagent med siktlinje till klustret.
- En token skapas för varje uppgift som använder en Azure Resource Manager-tjänstanslutning. Detta säkerställer att du ansluter till Kubernetes med en kortlivad token, vilket är Kubernetes-rekommendationen.
- AKS kan nås även när lokala konton är inaktiverade.
Vanliga frågor och svar om tjänstanslutning
Jag får följande felmeddelande: Det gick inte att hitta någon hemlighet som är associerad med tjänstkontot. Vad händer?
Du använder alternativet Kubernetes-tjänstanslutning med Azure-prenumeration. Vi uppdaterar den här metoden för att skapa långlivade token. Detta förväntas vara tillgängligt i mitten av maj. Vi rekommenderar dock att du börjar använda anslutningstypen för Azure-tjänsten och inte använda långlivade token enligt Kubernetes-vägledningen.
Jag använder AKS och vill inte ändra något, kan jag fortsätta att använda uppgifter med Kubernetes-tjänstanslutningen?
Vi uppdaterar den här metoden för att skapa långlivade token. Detta förväntas vara tillgängligt i mitten av maj. Tänk dock på att den här metoden är emot Kubernetes-vägledningen.
Jag använder Kubernetes-uppgifter och Kubernetes-tjänstanslutningen, men inte AKS. Ska jag oroa mig?
Aktiviteterna fortsätter att fungera som tidigare.
Kommer Kubernetes-tjänstens anslutningstyp att tas bort?
Våra Kubernetes-uppgifter fungerar med alla Kubernetes-kluster, oavsett var de körs. Kubernetes-tjänstanslutningen fortsätter att finnas.
Jag är AKS-kund och allt fungerar bra, ska jag agera?
Det finns inget behov av att ändra någonting. Om du använder Kubernetes-tjänstanslutningen och valde Azure-prenumeration när du skapade den bör du känna till Kubernetes-vägledningen om hur du använder långlivade token.
Jag skapar en Kubernetes-miljö och har inget alternativ för att använda tjänstanslutningar
Om du inte kan komma åt din AKS när miljön skapas kan du använda en tom miljö och ange connectionType
indata till en Azure Resource Manager-tjänstanslutning.
Jag har konfigurerat AKS med Azure Active Directory RBAC och min pipeline fungerar inte. Kommer de här uppdateringarna att lösa det?
Åtkomst till Kubernetes när AAD RBAC är aktiverat är inte relaterat till att skapa token. För att förhindra en interaktiv uppmaning stöder vi kubelogin i en framtida uppdatering.
Kommandovärden
Kommandoindata accepterar något av följande helm-kommandon: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. Exempel finns i avsnittet Exempel .
Varje kommandoindata mappar till en uppsättning aktivitetsindata. Kommandona som mappar till en uppgiftsindata anges i YAML-syntaxblocket och i tabellen för uppgiftsindata
Felsökning
HelmDeploy-aktiviteten genererar felet "okänd flagga: --wait" när "helm init --wait --client-only" körs på Helm 3.0.2-versionen.
Det finns några icke-bakåtkompatibla ändringar mellan Helm 2 och Helm 3. En av dem inkluderar borttagning av tiller och därför helm init
stöds inte längre kommandot. Ta bort init-kommandot när du använder Helm version 3.0+.
Om System.debug är inställt på sant och Helm-uppgradering är det kommando som används när du använder Helm 3 misslyckas pipelinen trots att uppgraderingen lyckades.
Detta är ett känt problem med Helm 3 eftersom det skriver vissa loggar till stderr. Helmdistributionsaktiviteten markeras som misslyckad om det skrivs loggar till stderr eller om slutkoden inte är noll. Ange aktivitetsindata failOnStderr: false för att ignorera de loggar som skrivs till stderr.
Exempel
Azure Resource Manager
Det här YAML-exemplet visar hur Azure Resource Manager används för att referera till Kubernetes-klustret. Detta används med ett av helm-kommandona och lämpliga värden som krävs för kommandot:
variables:
azureSubscriptionEndpoint: Contoso
azureContainerRegistry: contoso.azurecr.io
azureResourceGroup: Contoso
kubernetesCluster: Contoso
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Azure Resource Manager
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
Kubernetes-tjänstanslutning
Det här YAML-exemplet visar hur Kubernetes-tjänstanslutning används för att referera till Kubernetes-klustret. Detta används med ett av helm-kommandona och lämpliga värden som krävs för kommandot:
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Kommandon
Kommandoindata accepterar något av följande helm-kommandon: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.
Det här YAML-exemplet visar kommandot ls :
- task: HelmDeploy@0
displayName: Helm list
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: ls
arguments: --all
init-kommando
Det här YAML-exemplet visar init-kommandot :
- task: HelmDeploy@0
displayName: Helm init
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: init
upgradetiller: true
waitForExecution: true
arguments: --client-only
kommandot install
Det här YAML-exemplet visar installationskommandot :
- task: HelmDeploy@0
displayName: Helm install
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: install
chartType: FilePath
chartPath: Application/charts/sampleapp
paketkommando
Det här YAML-exemplet visar paketkommandot :
- task: HelmDeploy@0
displayName: Helm package
inputs:
command: package
chartPath: Application/charts/sampleapp
destination: $(Build.ArtifactStagingDirectory)
kommandot upgrade
Det här YAML-exemplet visar uppgraderingskommandot :
- 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
spara kommando
Det här YAML-exemplet visar kommandot spara :
- 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)
Paketera och signera Helm-diagram
I det här avsnittet lär du dig att paketera och signera Helm-diagram i en pipeline.
Generera ett privat-offentligt nyckelpar för att signera Helm-diagrammet med GPG
Ladda ned GPG.
Starta kommandotolken i administratörsläge. Kör följande kommando för att generera ett privat-offentligt nyckelpar för att signera Helm-diagrammet med gpg. När du skapar nyckeln uppmanas du att ange användarnamnet och e-postadressen. "E-postadress för namn" används senare för att namnge det privata offentliga nyckelparet som skapas.
gpg --full-generate-key
Du uppmanas att ange lösenfrasen. Ge värdet och klicka på OK.
När du har skapat nyckeln kan du se listan över nycklar som innehåller både privat och offentlig med hjälp av följande kommando.
Så här visar du en lista över privata nycklar
gpg --list-secret-keys
Visa listan över offentliga nycklar
gpg --list-keys
Lagra de privata och offentliga nycklarna i 2 olika filer med tillägget gpg enligt nedan.
- För en privat nyckel
gpg --export-secret-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/privatekeys.gpg
Filen privatekeys.gpg exporteras till sökvägen som nämndes ovan.
- För en offentlig nyckel
gpg --export-key 94325E18E53EDD99DD8339C3CFD9DAF0707CB788 contoso@microsoft.com > C:/somepath/publickey.gpg
Filen publickey.gpg exporteras till sökvägen som nämndes ovan.
Spara filen privatekey.gpg i avsnittet bibliotekssäkerhetsfiler i Azure DevOps.
Exempel
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)
Krav
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version, klassisk version |
Körs på | Agent, DeploymentGroup |
Krav | Ingen |
Funktioner | Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Valfri |
Inställningsbara variabler | Valfri |
Agentversion | Alla agentversioner som stöds. |
Uppgiftskategori | Distribuera |