ステージガイドではPipelineのステージについて基本的な内容を説明します。
ステージは、パイプラインスタジオ画面で右上の編集モードのトグルをクリックして編集モードを有効にした後
左側のステージの追加パネルでツリーメニューをクリックして、表示されたステージをドラッグ&ドロップで追加できます。
右側のステージ設定パネルでステージの詳細情報を照会したり、編集できます。
ステージは以下のグループに分かれています。
ソース
ビルドするソースコードを取得するステージです。
ソース - GitHub
ソースリポジトリは環境設定のソースリポジトリ設定で追加したソースリポジトリを選択できます。ブランチにはビルドする対象のソースブランチを入力します。
ソース - GitLab
ソースリポジトリは環境設定のソースリポジトリ設定で追加したソースリポジトリを選択できます。ブランチにはビルドする対象のソースブランチを入力します。
ビルド
ビルドを行うステージです。
ビルド - Jenkins
ユーザーが直接構成したJenkinsを利用してビルドできます。ビルドツールは環境設定のビルドツール設定で追加したビルドツールを選択できます。ビルドジョブを選択できます。
アーティファクトの開始条件と終了条件を設定できます。開始条件を設定してステージを開始するかどうかを決定できます。 終了条件を設定してステージの作成物をアーティファクトに設定できます。
ビルド - Bake (Manifest)
ユーザーが直接構成したHelm package fileまたはチャートリポジトリを使ってビルドできます。
- チャート名はHelmエンジンで構成した結果物の名前を設定します。
- NamespaceはHelmエンジンで構成した成果物のNamespaceを設定します。
- テンプレート
- リポジトリタイプは環境設定のソースリポジトリ設定またはチャートリポジトリ設定で追加したリポジトリを選択できます。
- リポジトリタイプをGitHubファイルまたはGitLabファイルに指定した場合
- パスはHelm package fileのパスを入力する必要があります。
- ブランチ名はGitHubまたはGitLabのブランチを入力します。
- リポジトリタイプを Helmチャートと指定した場合
- チャートリポジトリの名前はチャートリポジトリの設定で設定したリポジトリのいずれかを選択できます。
- チャート名は、チャートリポジトリの構成で使用可能なチャート名を選択できます。
- チャートバージョンは、チャートリポジトリの構成で使用可能なチャートのバージョンを選択できます。
- オーバーライド
- リポジトリ情報
- テンプレートと同じ方式で選択できます。
- テンプレートを基本として、オーバーライドで指定した内容に置き換えてビルド結果物を作成します。
- キー(Key) / 値(Value)
- key,valueで構成された値を入力して特定の値を置換してビルド結果物を作成します。
- 基本タイプ置換
-このオプションをチェックすると、オーバーライド値を注入する時、--set-stringの代わりに--setを使用します。 --setを使用して注入された値はHelmによって基本データ型に変換されます。
- アーティファクト
- アーティファクトの開始条件と 終了条件を設定できます。 開始条件を設定してステージを開始するかどうかを決定できます。 終了条件を設定してステージの作成物をアーティファクトに設定できます。
ビルド - NHN Cloudビルドツールv2
NHN Cloudで提供するビルドツールを使用できます。
- ビルド環境設定
-
ソースビルド設定
- 環境設定のイメージストア設定で追加したイメージストアを選択できます。
- ビルドする環境のイメージ名及びタグを入力し、ビルドコマンドを設定します。
-
ドッカーイメージビルド設定
- DockerfileパスはDockefileが存在するパスを入力します。
- Dockerfile実行パスはDockerfileをビルドするパスを入力します。
- イメージストアを選択し、イメージ名を決定したら、そこに結果物をpushします。
- タグにはイメージのタグを入力します。タグフォーマットを含めて入力すると、入力したタグフォーマット部分が動的に置換されます。
-
アーティファクト設定
- 開始条件を設定してステージを開始するかどうかを決定できます。
- 終了条件を設定してステージの作成物をアーティファクトとして設定できます。
イメージタグフォーマット |
置換される形式 |
説明 |
{BUILD_DATE_TIME} |
yyyy-MM-dd_HH_mm_ss |
年-月-日-日-時-分-秒の形式でビルド実行時刻に置換されます。 |
配布
Kubernetes環境に配布を行うステージです。
配布 - Deploy
-
環境設定の配布対象設定で追加した配布対象を選択できます。
ステージ名、配布対象、配布に使用するManifestを入力します。
ビルドステージでタグフォーマットを使用した場合、Manifestのドッカーイメージタグ部分を_{BUILD_NUMBER}
と入力すると、タグフォーマットでビルドされたイメージのうち最新の番号のイメージで配布できます。
Manifestを作成する方法はKubernetes文書を参照してください。
-
Manifestソースをアーティファクトとして選択できます。選択したアーティファクトはManifest形式で作成する必要があります。
- パイプラインで作成したアーティファクトを選択できます。
- リポジトリから特定ファイルをアーティファクトとして選択できます。
- アーティファクトの開始条件および終了条件を設定できます。開始条件を設定してステージを開始するかどうかを決定できます。終了条件を設定してステージの作成物をアーティファクトに設定できます。
配布 - Patch
- 環境設定の配布対象設定で追加した配布対象を選択できます。
- Namespace, リソースタイプ、選択方法、リソース名、配布に使用するManifestを入力します。 Patchで既存リソースの情報を修正できます。
- Manifestを作成する方法はKubernetes文書を参考してください。
- 選択方法を動的な方法で選択に設定する場合、クラスタと選択戦略を入力します。
- クラスタ
- replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
- 選択戦略
- Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
- Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
- Oldest:当該ステージが開始された時、最も古いリソースを選択します。
- Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
- Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。
配布 - Scale
- 環境設定の配布対象設定で追加した配布対象を選択できます。
- Namespace, リソースタイプ、選択方法、リソース名、Replicasを入力します。 ScaleでReplicasを修正できます。
- 選択方法を動的な方法で選択に設定する場合、クラスタと選択戦略を入力します。
'- クラスタ
- replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
'- 選択戦略
- Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
- Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
- Oldest:当該ステージが開始された時、最も古いリソースを選択します。
- Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
- Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。
配布 - Rollout undo
環境設定の配布対象設定で追加した配布対象を選択できます。
Namespace、リソースタイプ、リソース名、Revision Backを入力します。指定したRevisionにロールバックできます。
配布 - Delete
- 環境設定の配布対象設定で追加した配布対象を選択できます。
- Namespace, リソースタイプ、選択方法、*リソース名を入力します。そのリソースを削除できます。
- 選択方法を動的な方法で選択に設定する場合、クラスタと選択戦略を入力します。
- クラスタ
- replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
- 選択戦略
- Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
- Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
- Oldest:当該ステージが開始された時、最も古いリソースを選択します。
- Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
- Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。
配布 - NHN Container Service
NCSワークロードのテンプレートを交換できるステージです。
NCSアプリキーを入力すると、NCSロール、テンプレートリスト、ワークロードのリストが表示されます。
変更するテンプレートをリストから選択できます。
テンプレートを変更するワークロードをリストから選択できます。
配布 - Enable
- 環境設定の配布対象設定で追加した配布対象を選択できます。
- Namespace、リソースタイプ、選択方法、リソース名を入力します。該当リソースを有効にできます。
- 有効化:該当リソースをPipelineで管理し、リソースにトラフィックを送るように設定します。
- 選択方法を動的な方法で選択に設定する場合、クラスタと選択戦略を入力します。
- クラスタ
- replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
- 選択戦略
- Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
- Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
- Oldest:当該ステージが開始された時、最も古いリソースを選択します。
- Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
- Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。
配布 - Disable
- 環境設定の配布対象設定で追加した配布対象を選択できます。
- Namespace、リソースタイプ、選択方法、リソース名を入力します。該当リソースを無効にできます。
- 無効化:リソースを削除するわけではありませんが、そのリソースにトラフィックを送らないように設定します。
- 選択方法を動的な方法で選択に設定する場合、クラスタと選択戦略を入力します。
- クラスタ
- replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
- 選択戦略
- Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
- Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
- Oldest:当該ステージが開始された時、最も古いリソースを選択します。
- Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
- Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。
機能
追加機能を提供するステージです。
機能 - 承認管理
機能 - 承認管理 ステージ以降のステージに対する実行管理(実行、実行停止)を承認権者が管理できます。
ステージにリクエスト内容について作成することができ、承認管理ステージの実行管理(実行、実行停止)機能は該当プロジェクトの Pipeline APPROVAL ADMINロールを持つユーザーだけが行うことができます。
Pipeline APPROVAL ADMINロールは、プロジェクトのメンバー管理、役割グループ管理で付与できます。
機能 - Judgement(実行管理)
必要に応じて実行管理ステージの説明、実行設定の値を入力できます。
実行設定の有無に関係なく、次のステージに対する実行管理(実行、実行停止)ができ、実行設定を追加して次のステージの実行を選択する場合、次に説明するステージであるPrecondition(実行条件)に設定値を渡して分岐処理を行うことができます。
機能 - Precondition(ステージ状態条件)
前のステージのステージ名と実行結果を選択して条件を設定できます。
指定した全ての条件が満たされなければ、次のステージが実行されます。
機能 - Precondition(実行条件)
前の段階で設定されたJudgement(実行管理)ステージで渡された値を実行条件によって後のステージの実行を決定します。
Judgement(実行管理)ステージで渡された設定値と実行条件の条件値に対して実行条件一致/実行条件不一致の中から選択して以降のステージの実行を決定します。
機能 - Webフック
URLにHTTPメソッドとURLを入力します。必要に応じてリクエストヘッダ リクエストデータを追加できます。
Webフックのレスポンス値がFail Fast HTTPステータスコードに入力した値のいずれかであれば、すぐに該当ステージを終了します。
機能 - 他のパイプラインの実行
ステージで他のパイプライン全体を実行できます。
実行したいパイプライン名を選択します。
もし実行条件を選択解除した場合、選択したパイプラインの実行状態を待たずに、次のステージが実行されます。
機能 - NHN Cloud Deployサービス配布実行
ステージでNHN Cloud Deployサービスを使用して配布を実行できます。
- 配布を実行するアーティファクトのCommand TypeがSSHである場合、NHN Cloud Deployサービス配布実行機能をサポートしておらず、Cloud Agentである場合にのみサポートします。関連する内容についてはDeploy使用ガイドを参照してください。
環境設定 > NHN Cloudセキュリティ設定で追加したセキュリティ設定を選択し、AppKeyにはNHN Cloud Deployサービスを使用するAppkeyを入力します。
情報を入力して確認をクリックすると、入力したセキュリティ設定とAppkeyに合うNHN Cloud Deployの配布関連情報が表示されます。
その後、NHN Cloud Deployサービスを通じて配布するアーティファクト、サーバーグループ、シナリオを選択できます。
配布制限時間には該当ステージの実行完了待機時間を指定します。(最短1分、最長600分)
配布詳細設定では、配布する対象に条件を追加できます。
サーバー選択で配布するサーバーを選択できます。全体サーバーを選択すると、全体サーバーを対象に配布を実行でき、サーバー選択をクリックすると、配布するサーバーを選択できます。
同時サーバー実行数でNHN Cloud Deployサービスが同時にいくつのサーバーを実行するか選択できます。(デフォルト値は1、最大サーバー数)
配布ノートには配布実行情報を入力できます。
詳しい説明についてはDeploy使用ガイドを参照してください。
ステージ共通機能
ステージ失敗時
ステージが失敗した時のパイプライン実行に関する設定を選択できます。
- 全てのパイプライン終了
- 該当ステージが失敗すると、パイプライン全体が終了します。
- 該当ブランチのみ終了
- 該当ステージが属するブランチだけ終了し、他のブランチのパイプラインは続行されます。
- 該当ブランチが終了し、他のブランチの終了時に失敗
- そのステージが属するブランチだけが終了し、他のブランチのパイプラインは続行されます。しかし、そのパイプラインの結果は失敗として残ります。
- 失敗を無視して進行
- 該当ステージが失敗しても、次のステージが進行します。