Condividi tramite


HelmDeploy@1 - Creare un pacchetto e distribuire l'attività Grafici Helm v1

Distribuire, configurare e aggiornare un cluster Kubernetes nel servizio Azure Container eseguendo comandi helm.

Sintassi

# Package and deploy Helm charts v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@1
  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. 
  # Azure Container Registry
    #azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == login || command == package. Azure subscription for Container Registry. 
    #azureResourceGroupForACR: # string. Required when command == login || command == package. Resource group. 
    #azureContainerRegistry: # string. Required when command == login || command == package. Azure Container Registry. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | '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 == package. Chart Name For Azure Container Registry. 
    #chartPathForACR: # string. Required when command == package. Chart Path for Azure Container Registry. 
  # 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: false # boolean. Optional. Use when command != login && command != logout && command != package. Fail on Standard Error. Default: false.
    #publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package. Publish pipeline metadata. Default: true.

Ingressi

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

Selezionare "Azure Resource Manager" per connettersi a un servizio Azure Kubernetes usando la connessione al servizio di Azure. Selezionare "Connessione al servizio Kubernetes" per connettersi a qualsiasi cluster Kubernetes usando kubeconfig o account del servizio.


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

Selezionare una sottoscrizione di Azure con Registro Azure Container.


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

Selezionare un gruppo di risorse di Azure.


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

Selezionare un cluster gestito di Azure.


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

Usare le credenziali di amministratore del cluster anziché le credenziali utente del cluster predefinite.


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

Selezionare una connessione al servizio Kubernetes.


namespace - spazio dei nomi
string. Opzionale. Usare quando command != logout && command != package.

Specificare lo spazio dei nomi K8 da usare. È possibile specificare lo spazio dei nomi Tiller nella sezione avanzata dell'attività o passando l'opzione --tiller-namespace come argomento.


azureSubscriptionForACR - sottoscrizione di Azure per l' del Registro Container
Alias di input: azureSubscriptionEndpointForACR. string. Obbligatorio quando command == login || command == package.

Selezionare una sottoscrizione di Azure con Registro Azure Container.


azureResourceGroupForACR - gruppo di risorse
string. Obbligatorio quando command == login || command == package.

Selezionare un gruppo di risorse di Azure con registro contenitori.


azureContainerRegistry - registro Azure Container
string. Obbligatorio quando command == login || command == package.

Selezionare un Registro Azure Container che verrà usato per i grafici Helm.


command - comando
string. Obbligatorio. Valori consentiti: create, delete, expose, get, init, install, login, logout, ls, package, rollback, upgrade, uninstall. Valore predefinito: ls.

Selezionare un comando helm.


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

Selezionare la modalità di immissione delle informazioni sul grafico. È possibile specificare il nome del grafico o del percorso cartella/file del grafico.


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

Riferimento al grafico da installare, può essere un URL o un nome di grafico. Ad esempio, se il nome del grafico è 'stable/mysql', l'attività eseguirà 'helm install stable/mysql'.


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

Percorso del grafico da installare. Può trattarsi di un percorso di un grafico in pacchetto o di un percorso di una directory del grafico decompresso. Ad esempio, se si specifica './redis', l'attività eseguirà 'helm install ./redis'.


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

Specificare la versione esatta del grafico da installare. Se non viene specificato, viene installata la versione più recente. Impostare la versione nel grafico su questa versione semver.


releaseName - nome versione
string. Opzionale. Usare quando command == install || command == upgrade.

Nome della versione. Se non specificato, ne verrà generato automaticamente uno automaticamente.


overrideValues - impostare valori
string. Opzionale. Usare quando command == install || command == upgrade.

Impostare i valori nella riga di comando (può specificare più valori o separarli con virgole o nuove righe: key1=val1,key2=val2 o
key1=val1
key2=val2
). L'attività creerà il comando helm usando questi valori impostati. Ad esempio, helm install --set key1=val1 ./redis.


valueFile - file valore
string. Opzionale. Usare quando command == install || command == upgrade.

Specificare i valori in un file YAML o in un URL. Ad esempio, se si specifica myvalues.yaml verrà restituito "helm install --values=myvals.yaml".


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

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


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

Usare l'immagine canary Tiller, la versione non definitiva più recente di Tiller.


upgradetiller - Upgrade Tiller
boolean. Opzionale. Usare quando command == init. Valore predefinito: true.

Aggiornare se Tiller è già installato.


updatedependency - Aggiornare dipendenze
boolean. Opzionale. Usare quando command == install || command == package. Valore predefinito: false.

Eseguire l'aggiornamento delle dipendenze helm prima di installare il grafico. Aggiornare le dipendenze da 'requirements.yaml' a 'charts/' prima della creazione del pacchetto.


save - Salva
boolean. Opzionale. Usare quando command == package. Valore predefinito: true.

Salvare il grafico in pacchetto nel repository grafico locale (valore predefinito true).


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

Se una versione con questo nome non esiste già, eseguire un'installazione.


recreate - ricreare i pod.
boolean. Opzionale. Usare quando command == upgrade. Valore predefinito: false.

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


resetValues - reimpostare i valori.
boolean. Opzionale. Usare quando command == upgrade. Valore predefinito: false.

Reimpostare i valori su quelli incorporati nel grafico.


force - Force
boolean. Opzionale. Usare quando command == upgrade. Valore predefinito: false.

Forzare l'aggiornamento delle risorse tramite eliminazione/ricreazione, se necessario.


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

Blocca fino al completamento dell'esecuzione del comando.


arguments - argomenti
string. Opzionale. Usare quando command != login && command != logout.

Opzioni di comando Helm.


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

Abilita l'uso di SSL tra Helm e Tiller.


caCert - certificato ca
string. Obbligatorio quando enableTls == true && command != login && command != logout && command != package.

Certificato CA usato per rilasciare il certificato per tiller e client Helm.


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

Specificare il certificato Tiller o il certificato client Helm.


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

Specificare la chiave Tiller o la chiave client Helm.


tillernamespace - dello spazio dei nomi Tiller
string. Opzionale. Usare quando command != login && command != logout && command != package.

Specificare lo spazio dei nomi K8 di tiller.


failOnStderr - errore standard
boolean. Opzionale. Usare quando command != login && command != logout && command != package. Valore predefinito: false.

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


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

In questo caso, l'attività raccoglierà e pubblicherà i metadati di distribuzione.


chartNameForACR - nome del grafico per registro Azure Container
string. Obbligatorio quando command == package.

Nome del grafico con cui verrà archiviato il grafico in Registro Azure Container.


percorso grafico chartPathForACR - per registro Azure Container
string. Obbligatorio quando command == package.

Percorso della directory del grafico.


Opzioni di controllo attività

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

Variabili di output

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

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

helmOutput
output generato dall'esecuzione del comando Helm specificato

Osservazioni

Una modifica importante per HelmDeploy@1'attività consiste nel fatto che i comandi del grafico Helm vengono rimossi:

  • Il sottocomando helm chart è stato rimosso
  • helm chart push rimosso
  • helm chart remove rimosso
  • helm chart save è stato sostituito con helm package
  • helm save rimosso

Fabbisogno

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente Tutte le versioni dell'agente supportate.
Categoria attività Schierare