次の方法で共有


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. 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 - 接続の種類の
string. command != logout && command != packageする場合に必要です。 使用できる値: Azure Resource ManagerKubernetes Service ConnectionNone。 既定値: Azure Resource Manager.

Azure サービス接続を使用して Azure Kubernetes Service に接続するには、[Azure Resource Manager] を選択します。 kubeconfig またはサービス アカウントを使用して任意の Kubernetes クラスターに接続するには、[Kubernetes Service Connection] を選択します。


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


グラフ名 を する
string. chartType == Nameする場合に必要です。

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


グラフ パス の
string. chartType == 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 install --set key1=val1 ./redis などです。


valueFile - 値ファイルの
string. 随意。 command == install || command == upgradeするときに使用します。

YAML ファイルまたは URL に値を指定します。 たとえば、myvalues.yaml を指定すると、"helm install --values=myvals.yaml" になります。


destination - 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 証明書 を する
string. enableTls == true && command != login && command != logout && command != packageする場合に必要です。

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


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

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


privatekey - キーの
string. enableTls == 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 のグラフ名の
string. command == packageする場合に必要です。

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


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

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


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

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

出力変数

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

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

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

備考

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

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

必要条件

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