共用方式為


HelmDeploy@1 - 封裝及部署 Helm 圖表 v1 工作

執行 helm 命令,在 Azure Container Service 中部署、設定、更新 Kubernetes 叢集。

語法

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

輸入

connectionType - 連線類型
stringcommand != logout && command != package時為必要項。 允許的值:Azure Resource ManagerKubernetes Service ConnectionNone。 預設值:Azure Resource Manager

選取 [Azure Resource Manager] 以使用 Azure 服務聯機連線至 Azure Kubernetes Service。 選取 [Kubernetes 服務連線],以使用 kubeconfig 或服務帳戶連線到任何 Kubernetes 叢集。


azureSubscription - Azure 訂用帳戶
輸入別名:azureSubscriptionEndpointstringconnectionType = Azure Resource Manager && command != logout && command != package時為必要項。

選取具有 Azure Container Registry 的 Azure 訂用帳戶。


azureResourceGroup - 資源群組
stringconnectionType = Azure Resource Manager && command != logout && command != package時為必要項。

選取 Azure 資源群組。


kubernetesCluster - Kubernetes 叢集
stringconnectionType = Azure Resource Manager && command != logout && command != package時為必要項。

選取 Azure 受控叢集。


useClusterAdmin - 使用叢集管理員認證
boolean。 自選。 connectionType = Azure Resource Manager && command != logout && command != package時使用 。 預設值:false

使用叢集管理員認證,而不是預設叢集用戶認證。


kubernetesServiceConnection - Kubernetes Service 連線
輸入別名:kubernetesServiceEndpointstringconnectionType = Kubernetes Service Connection && command != logout && command != package時為必要項。

選取 Kubernetes 服務連線。


namespace - 命名空間
string。 自選。 command != logout && command != package時使用 。

指定要使用的 K8 命名空間。 您可以使用 Tiller 命名空間在工作的進階區段中指定,或傳遞 --tiller-namespace 選項做為自變數。


azureSubscriptionForACR - Container Registry 的 Azure 訂用帳戶
輸入別名:azureSubscriptionEndpointForACRstringcommand == login || command == package時為必要項。

選取具有 Azure Container Registry 的 Azure 訂用帳戶。


azureResourceGroupForACR - 資源群組
stringcommand == login || command == package時為必要項。

選取具有 Container Registry 的 Azure 資源群組。


azureContainerRegistry - Azure Container Registry
stringcommand == login || command == package時為必要項。

選取將用於 Helm 圖表的 Azure Container Registry。


command - 命令
string。 必填。 允許的值:createdeleteexposegetinitinstallloginlogoutlspackagerollbackupgradeuninstall。 預設值:ls

選取 helm 命令。


chartType - 圖表類型
stringcommand == install || command == upgrade時為必要項。 允許的值:NameFilePath (檔案路徑)。 預設值:Name

選取您想要輸入圖表資訊的方式。 您可以提供圖表的名稱或圖表的資料夾/檔案路徑。


chartName - 圖表名稱
stringchartType == Name時為必要項。

要安裝的圖表參考,這可以是URL或圖表名稱。 例如,如果圖表名稱為 'stable/mysql',工作將會執行 'helm install stable/mysql'。


chartPath - 圖表路徑
stringchartType == FilePath || command == package時為必要項。

要安裝的圖表路徑。 這可以是已封裝圖表的路徑或未封裝圖表目錄的路徑。 例如,如果指定 './redis',工作將會執行 'helm install ./redis'。


chartVersion - 版本
輸入別名:versionstring。 自選。 command == package || command == install || command == upgrade時使用 。

指定要安裝的確切圖表版本。 如果未指定此專案,則會安裝最新版本。 將圖表上的版本設定為這個 semver 版本。


releaseName - 版本名稱
string。 自選。 command == install || command == upgrade時使用 。

版本名稱。 如果未指定,則會為您自動產生一個。


overrideValues - 設定值
string。 自選。 command == install || command == upgrade時使用 。

在命令行上設定值 (可以使用逗號或換行符指定多個或個別的值:key1=val1,key2=val2 或
key1=val1
key2=val2
). 工作會使用這些集合值來建構 helm 命令。 例如,helm 會安裝 --set key1=val1 ./redis。


valueFile - 值檔案
string。 自選。 command == install || command == upgrade時使用 。

在 YAML 檔案或 URL 中指定值。 例如,指定 myvalues.yaml 會導致 'helm install --values=myvals.yaml'。


destination - 目的地
string。 自選。 command == package時使用 。 預設值:$(Build.ArtifactStagingDirectory)

在 YAML 檔案或 URL 中指定值。


canaryimage - 使用 Canary 映射版本。
boolean。 自選。 command == init時使用 。 預設值:false

使用 Canary Tiller 映射,這是 Tiller 的最新發行前版本。


upgradetiller - 升級 Tiller
boolean。 自選。 command == init時使用 。 預設值:true

如果已安裝 Tiller,請升級。


updatedependency - 更新相依性
boolean。 自選。 command == install || command == package時使用 。 預設值:false

安裝圖表之前,請先執行 helm 相依性更新。 在封裝之前,將相依性從 'requirements.yaml' 更新為 dir 'charts/'。


save - 儲存
boolean。 自選。 command == package時使用 。 預設值:true

將已封裝的圖表儲存至本機圖表存放庫 (預設值 true)。


install - 如果版本不存在,請安裝。
boolean。 自選。 command == upgrade時使用 。 預設值:true

如果此名稱的版本不存在,請執行安裝。


recreate - 重新建立Pod。
boolean。 自選。 command == upgrade時使用 。 預設值:false

如果適用,請針對資源執行Pod重新啟動。


resetValues - 重設值。
boolean。 自選。 command == upgrade時使用 。 預設值:false

將值重設為圖表內建的值。


force - Force
boolean。 自選。 command == upgrade時使用 。 預設值:false

視需要強制透過刪除/重新建立資源更新。


waitForExecution - Wait
boolean。 自選。 command == init || command == install || command == upgrade時使用 。 預設值:true

封鎖直到命令執行完成為止。


arguments - 自變數
string。 自選。 command != login && command != logout時使用 。

Helm 命令選項。


enableTls - 啟用 TLS
boolean。 自選。 command != login && command != logout && command != package時使用 。 預設值:false

啟用 Helm 與 Tiller 之間的 SSL。


caCert - CA 憑證
stringenableTls == true && command != login && command != logout && command != package時為必要項。

CA 憑證,用來發行 tiller 和 helm 用戶端的憑證。


certificate - 憑證
stringenableTls == true && command != login && command != logout && command != package時為必要項。

指定 Tiller 憑證或 Helm 用戶端憑證。


privatekey - 金鑰
stringenableTls == true && command != login && command != logout && command != package時為必要項。

指定 Tiller 金鑰或 Helm 用戶端金鑰。


tillernamespace - Tiller 命名空間
string。 自選。 command != login && command != logout && command != package時使用 。

指定 tiller 的 K8 命名空間。


標準錯誤 失敗
boolean。 自選。 command != login && command != logout && command != package時使用 。 預設值:false

如果這是 true,如果有任何錯誤寫入錯誤管線,或將任何數據寫入標準錯誤數據流,此工作將會失敗。 否則工作會依賴結束代碼來判斷失敗。


publishPipelineMetadata - 發佈管線元數據
boolean。 自選。 command != login && command != logout && command != package時使用 。 預設值:true

如果這是真的,工作將會收集併發佈部署元數據。


Azure Container Registry chartNameForACR - 圖表名稱
stringcommand == package時為必要項。

圖表名稱,圖表將儲存在 Azure Container Registry 中。


chartPathForACR - Azure Container Registry 的圖表路徑
stringcommand == package時為必要項。

圖表目錄的路徑。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性

輸出變數

此工作會定義下列 輸出變數,您可以在下游步驟、作業和階段中取用這些變數。

helmExitCode
從執行指定的 Helm 命令發出的結束代碼

helmOutput
從執行指定的 Helm 命令發出的輸出

言論

HelmDeploy@1 工作的主要變更是會移除 helm 圖表命令:

  • 已移除 helm chart 子命令
  • 已移除 helm chart push
  • 已移除 helm chart remove
  • helm chart save 已取代為 helm package
  • 已移除 helm save

要求

要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 所有支援的代理程式版本。
工作類別 部署