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 Manager
、Kubernetes Service Connection
、None
。 既定値: Azure Resource Manager
.
Azure サービス接続を使用して Azure Kubernetes Service に接続するには、[Azure Resource Manager] を選択します。 kubeconfig またはサービス アカウントを使用して任意の Kubernetes クラスターに接続するには、[Kubernetes Service Connection] を選択します。
Azure サブスクリプション を
入力エイリアス: azureSubscriptionEndpoint
。
string
.
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 接続 の
入力エイリアス: kubernetesServiceEndpoint
。
string
.
connectionType = Kubernetes Service Connection && command != logout && command != package
する場合に必要です。
Kubernetes サービス接続を選択します。
namespace
-
名前空間の
string
. 随意。
command != logout && command != package
するときに使用します。
使用する K8 名前空間を指定します。 Tiller 名前空間は、タスクの詳細セクションで指定するか、引数として --tiller-namespace オプションを渡すことによって指定できます。
Container Registry の Azure サブスクリプションを
入力エイリアス: azureSubscriptionEndpointForACR
。
string
.
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
する場合に必要です。 使用できる値: Name
、FilePath
(ファイル パス)。 既定値: Name
.
グラフ情報の入力方法を選択します。 グラフの名前を指定するか、グラフのフォルダー/ファイル パスを指定できます。
グラフ名 を
string
.
chartType == Name
する場合に必要です。
インストールするグラフ参照。URL またはグラフ名を指定できます。 たとえば、グラフ名が 'stable/mysql' の場合、タスクは "helm install stable/mysql" を実行します。
グラフ パス の
string
.
chartType == FilePath || command == package
する場合に必要です。
インストールするグラフへのパス。 パッケージ化されたグラフへのパス、またはアンパックされたグラフ ディレクトリへのパスを指定できます。 たとえば、'./redis' が指定されている場合、タスクは 'helm install ./redis' を実行します。
chartVersion
-
バージョン
入力エイリアス: version
。
string
. 随意。
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 save
はhelm package
に置き換えられました -
helm save
が削除されました