次の方法で共有


HelmDeploy@1 - Helm Chart 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 || command == push. Azure subscription for Container Registry. 
    #azureResourceGroupForACR: # string. Required when command == login || command == package || command == push. Resource group. 
    #azureContainerRegistry: # string. Required when command == login || command == package || command == push. Azure Container Registry. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'push' | '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 || command == create. Chart Name. 
    #chartPath: # string. Required when chartType == FilePath || command == package || command == push. Chart Path. 
    #remoteRepo: # string. Required when command == push. Remote Repo. 
    #chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version. 
    #releaseName: # string. Optional. Use when command == install || command == upgrade || command == rollback || command == uninstall || command == delete. 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 || command == push. Chart Name For Azure Container Registry. 
    #chartPathForACR: # string. Required when command == package || command == push. 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 サービス接続を使用して Azure Kubernetes Service に接続するには、[Azure Resource Manager] を選択します。 kubeconfig またはサービス アカウントを使用して任意の Kubernetes クラスターに接続するには、[Kubernetes Service Connection] を選択します。


Azure サブスクリプション を する
入力エイリアス: azureSubscriptionEndpointstringconnectionType = Azure Resource Manager && command != logout && command != packageする場合に必要です。

Azure Container Registry を含む Azure サブスクリプションを選択します。


azureResourceGroup - リソース グループの
stringconnectionType = Azure Resource Manager && command != logout && command != packageする場合に必要です。

Azure リソース グループを選択します。


Kubernetes クラスター の
stringconnectionType = Azure Resource Manager && command != logout && command != packageする場合に必要です。

Azure マネージド クラスターを選択します。


useClusterAdmin - クラスター管理者の資格情報を使用する
boolean。 随意。 connectionType = Azure Resource Manager && command != logout && command != packageするときに使用します。 既定値: false.

既定のクラスター ユーザー資格情報ではなく、クラスター管理者の資格情報を使用します。


Kubernetes Service 接続 の
入力エイリアス: kubernetesServiceEndpointstringconnectionType = Kubernetes Service Connection && command != logout && command != packageする場合に必要です。

Kubernetes サービス接続を選択します。


namespace - 名前空間の
string。 随意。 command != logout && command != packageするときに使用します。

使用する K8 名前空間を指定します。 Tiller 名前空間は、タスクの詳細セクションで指定するか、引数として --tiller-namespace オプションを渡すことによって指定できます。


Container Registry の Azure サブスクリプションを する
入力エイリアス: azureSubscriptionEndpointForACRstringcommand == login || command == package || command == pushする場合に必要です。

Azure Container Registry を含む Azure サブスクリプションを選択します。


azureResourceGroupForACR - リソース グループの
stringcommand == login || command == package || command == pushする場合に必要です。

コンテナー レジストリがある Azure リソース グループを選択します。


Azure Container Registry を する
stringcommand == login || command == package || command == pushする場合に必要です。

Helm チャートに使用する Azure Container Registry を選択します。


command - コマンド
string。 必須。 使用できる値: create, delete, expose, get, init, install, login, logout, ls, push, package, rollback, upgrade, uninstall. 既定値: ls.

helm コマンドを選択します。


chartType - グラフの種類の
stringcommand == install || command == upgradeする場合に必要です。 使用できる値: NameFilePath (ファイル パス)。 既定値: Name.

グラフ情報の入力方法を選択します。 グラフの名前を指定するか、グラフのフォルダー/ファイル パスを指定できます。


グラフ名 を する
stringchartType == Name || command == createする場合に必要です。

インストールするグラフ参照。URL またはグラフ名を指定できます。 たとえば、グラフ名が 'stable/mysql' の場合、タスクは "helm install stable/mysql" を実行します。


グラフ パス の
stringchartType == FilePath || command == package || command == pushする場合に必要です。

インストールするグラフへのパス。 パッケージ化されたグラフへのパス、またはアンパックされたグラフ ディレクトリへのパスを指定できます。 たとえば、'./redis' が指定されている場合、タスクは 'helm install ./redis' を実行します。


remoteRepo - リモートリポジトリ
stringcommand == pushする場合に必要です。

グラフがプッシュされるリモートリポジトリ。


chartVersion - バージョン
入力エイリアス: versionstring。 随意。 command == package || command == install || command == upgradeするときに使用します。

インストールするグラフの正確なバージョンを指定します。 これが指定されていない場合は、最新バージョンがインストールされます。 グラフのバージョンをこの semver バージョンに設定します。


releaseName - リリース名の
string。 随意。 command == install || command == upgrade || command == rollback || command == uninstall || command == deleteするときに使用します。

リリース名。 指定しない場合は、自動生成されます。


overrideValues - 値の設定
string。 随意。 command == install || command == upgradeするときに使用します。

コマンド ラインで値を設定します (コンマまたは改行で複数または個別の値を指定できます: key1=val1,key2=val2 または
キー1=val1
key2=val2
). タスクは、これらの設定値を使用して helm コマンドを構築します。 たとえば、helm install --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 - カナリア イメージ バージョンを使用します。
boolean。 随意。 command == initするときに使用します。 既定値: false.

Tiller の最新のプレリリース バージョンであるカナリア Tiller イメージを使用します。


ティラー をアップグレードする
boolean。 随意。 command == initするときに使用します。 既定値: true.

Tiller が既にインストールされている場合はアップグレードします。


依存関係の更新 の
boolean。 随意。 command == install || command == packageするときに使用します。 既定値: false.

グラフをインストールする前に、Helm 依存関係の更新を実行します。 パッケージ化する前に、依存関係を 'requirements.yaml' から dir 'charts/' に更新します。


save - 保存
boolean。 随意。 command == packageするときに使用します。 既定値: true.

パッケージ化されたグラフをローカル グラフ リポジトリに保存します (既定値は true)。


install - リリースが存在しない場合はインストールします。
boolean。 随意。 command == upgradeするときに使用します。 既定値: true.

この名前のリリースがまだ存在しない場合は、インストールを実行します。


recreate - ポッドを再作成します。
boolean。 随意。 command == upgradeするときに使用します。 既定値: false.

必要に応じて、リソースのポッドの再起動を実行します。


値のリセットを resetValues - します。
boolean。 随意。 command == upgradeするときに使用します。 既定値: false.

グラフに組み込まれている値に値をリセットします。


force - 強制
boolean。 随意。 command == upgradeするときに使用します。 既定値: false.

必要に応じて、削除/再作成によってリソースの更新を強制します。


waitForExecution - wait
boolean。 随意。 command == init || command == install || command == upgradeするときに使用します。 既定値: true.

コマンドの実行が完了するまでブロックします。


arguments - 引数
string。 随意。 command != login && command != logoutするときに使用します。

Helm コマンド オプション。


TLS を有効にする
boolean。 随意。 command != login && command != logout && command != packageするときに使用します。 既定値: false.

Helm と Tiller の間で SSL を使用できるようにします。


CA 証明書 を する
stringenableTls == true && command != login && command != logout && command != packageする場合に必要です。

TILLER および Helm クライアントの証明書を発行するために使用される CA 証明書。


証明書 の
stringenableTls == true && command != login && command != logout && command != packageする場合に必要です。

Tiller 証明書または Helm クライアント証明書を指定します。


privatekey - キーの
stringenableTls == true && command != login && command != logout && command != packageする場合に必要です。

Tiller キーまたは Helm クライアント キーを指定します。


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.

これが true の場合、タスクはデプロイ メタデータを収集して発行します。


Azure Container Registry のグラフ名の
stringcommand == package || command == pushする場合に必要です。

グラフが Azure Container Registry に格納されるグラフ名。


chartPathForACR - Azure Container Registry のグラフ パス
stringcommand == package || command == pushする場合に必要です。

グラフ ディレクトリへのパス。


タスク コントロールのオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。

出力変数

このタスクでは、次の 出力変数を定義します。この変数は、ダウンストリームのステップ、ジョブ、およびステージで使用できます。

helmExitCode
指定した Helm コマンドの実行から出力された終了コード

helmOutput
指定した Helm コマンドの実行から出力される出力

備考

HelmDeploy@1 タスクの大きな変更点は、helm chart コマンドが削除されていることです。

  • helm chart サブコマンドが削除されました
  • helm chart remove が削除されました
  • helm chart savehelm package に置き換えられました
  • helm save が削除されました

必要条件

要件 形容
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 何一つ
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 任意
設定可能な変数 任意
エージェントのバージョン サポートされているすべてのエージェント バージョン。
タスク カテゴリ 展開