Dev Tools > Pipeline > ステージガイド

ステージガイドではPipelineのステージについて基本的な内容を説明します。 パイプライン管理 > +パイプライン作成をクリックしてパイプラインを作成します。作成したパイプラインを選択したら、下部のステージタブで +ステージ追加をクリックしてステージを追加できます。

stage-guide-01

ステージは以下のグループに分かれています。

  • ソース
  • ビルド
  • 配布
  • 機能

ソース

ビルドするソースコードを取得するステージです。

ソース - GitHub

ソースリポジトリ環境設定ソースリポジトリ設定で追加したソースリポジトリを選択できます。ブランチにはビルドする対象のソースブランチを入力します。

stage-guide-02

ソース - GitLab

ソースリポジトリ環境設定ソースリポジトリ設定で追加したソースリポジトリを選択できます。ブランチにはビルドする対象のソースブランチを入力します。

stage-guide-03

ビルド

ビルドを行うステージです。

ビルド - Jenkins

ユーザーが直接構成したJenkinsを利用してビルドできます。ビルドツール環境設定ビルドツール設定で追加したビルドツールを選択できます。ビルドジョブを選択し、ビルドジョブパラメータを入力できます。 アーティファクト開始条件終了条件を設定できます。開始条件を設定してステージを開始するかどうかを決定できます。 終了条件を設定してステージの作成物をアーティファクトに設定できます。

stage-guide-04 stage-guide-12

ビルド - NHN Cloudビルドツール

NHN Cloudで提供するビルドツールを使用できます。

  • ビルド環境設定

    • 環境設定イメージストア設定で追加したイメージストアを選択できます。
    • ビルドする環境のイメージ名を選択し、ビルドツール性能ビルド時間制限(分)ビルドコマンドを設定します。
  • ビルド結果設定

    • ビルド結果物のDockerfileパスを設定し、Dockerfile実行パスを設定します。
    • イメージストアを選択し、イメージ名を決定したらそのリポジトリに結果物をpushします。
    • タグフォーマット使用を選択すると、タグフォーマットでタグが固定され、_{BUILD_NUMBER}形式の動的に作成されるタグでイメージが作成されます。
  • アーティファクト設定

    • 開始条件を設定してステージを開始するかどうかを決定できます。
    • 終了条件を設定してステージの作成物をアーティファクトに設定できます。

stage-guide-05 stage-guide-13

ビルド - NHN Cloudビルドツールv2

NHN Cloudで提供するビルドツールを使用できます。

  • ビルド環境設定
    • ビルドツールの性能と制限時間を設定できます。
  • ソースビルド設定

    • 環境設定イメージストア設定で追加したイメージストアを選択できます。
    • ビルドする環境のイメージ名及びタグを入力し、ビルドコマンドを設定します。
  • ドッカーイメージビルド設定

    • DockerfileパスはDockefileが存在するパスを入力します。
    • Dockerfile実行パスはDockerfileをビルドするパスを入力します。
    • イメージストアを選択し、イメージ名を決定したら、そこに結果物をpushします。
    • タグにはイメージのタグを入力します。タグフォーマットを含めて入力すると、入力したタグフォーマット部分が動的に置換されます。
  • アーティファクト設定

    • 開始条件を設定してステージを開始するかどうかを決定できます。
    • 終了条件を設定してステージの作成物をアーティファクトとして設定できます。
イメージタグフォーマット 置換される形式 説明
{BUILD_DATE_TIME} yyyy-MM-dd_HH_mm_ss 年-月-日-日-時-分-秒の形式でビルド実行時刻に置換されます。

stage-guide-21.png stage-guide-13

ビルド - Bake (Manifest)

ユーザーが直接構成したHelm package fileまたはチャートリポジトリを利用してビルドできます。

  • チャート名はHelmエンジンで構成した結果物の名前を設定します。
  • NamespaceはHelmエンジで構成した結果物のNamespaceを設定します。
  • テンプレート
    • リポジトリタイプは環境設定ソースリポジトリ設定またはチャートリポジトリ設定で追加したリポジトリを選択できます。
    • リポジトリタイプをGitHubファイルまたはGitLabファイルに指定した場合
      • パスはHelm package fileのパスを入力する必要があります。
      • ブランチ名はGithubまたはGitlabのブランチを入力します。
    • リポジトリタイプをHelmチャートと指定した場合
      • チャートリポジトリの名前はチャートリポジトリ設定で設定したリポジトリの中から1つを選択できます。
      • チャート名はチャートリポジトリの構成で使用できるチャート名を選択できます。
      • チャートバージョンはチャートリポジトリの構成で使用できるチャートバージョンを選択できます。
  • オーバーライド
    • リポジトリ情報
      • テンプレートと同じ方式で選択できます。
      • テンプレートを基本にしてオーバーライドで指定した内容に置き換えてビルド結果物を作成します。
    • キー(Key) / 値(Value)
      • key、valueで構成された値を入力して特定値を置換してビルド結果物を作成します。
    • 基本タイプ置換
      • このオプションをチェックすると、オーバーライド値を注入する時、--set-stringの代わりに--setを使用します。--setを使用して注入された値はHelmによって基本データ型に変換されます。
  • アーティファクト
    • アーティファクト開始条件終了条件を設定できます。開始条件を設定してステージを開始するかどうかを決定できます。終了条件を設定してステージの作成物をアーティファクトに設定できます。

stage-guide-12 stage-guide-13

配布

Kubernetes環境に配布を行うステージです。

配布 - Deploy

  • 環境設定配布対象設定で追加した配布対象を選択できます。 ステージ名配布対象、配布に使用するManifestを入力します。 ビルドステージでタグフォーマットを使用した場合、Manifestのドッカーイメージタグ部分を_{BUILD_NUMBER}と入力すると、タグフォーマットでビルドされたイメージのうち最新の番号のイメージで配布できます。 Manifestを作成する方法はKubernetes文書を参照してください。

  • Manifestソースをアーティファクトとして選択できます。選択したアーティファクトはManifest形式で作成する必要があります。

    • パイプラインで作成したアーティファクトを選択できます。
    • リポジトリから特定ファイルをアーティファクトとして選択できます。
  • アーティファクト開始条件および終了条件を設定できます。開始条件を設定してステージを開始するかどうかを決定できます。終了条件を設定してステージの作成物をアーティファクトに設定できます。

stage-guide-06 stage-guide-15 stage-guide-16 stage-guide-14

配布 - Patch

  • 環境設定配布対象設定で追加した配布対象を選択できます。
  • Namespace, リソースタイプ選択方法リソース名、配布に使用するManifestを入力します。 Patchで既存リソースの情報を修正できます。
  • Manifestを作成する方法はKubernetes文書を参考してください。
  • 選択方法動的な方法で選択に設定する場合、クラスタ選択戦略を入力します。
  • クラスタ
    • replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
  • 選択戦略
    • Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
    • Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
    • Oldest:当該ステージが開始された時、最も古いリソースを選択します。
    • Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
    • Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。

stage-guide-07 stage-guide-07-2

配布 - Scale

  • 環境設定配布対象設定で追加した配布対象を選択できます。
  • Namespace, リソースタイプ選択方法リソース名Replicasを入力します。 ScaleでReplicasを修正できます。
  • 選択方法動的な方法で選択に設定する場合、クラスタ選択戦略を入力します。 '- クラスタ
    • replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。 '- 選択戦略
    • Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
    • Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
    • Oldest:当該ステージが開始された時、最も古いリソースを選択します。
    • Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
    • Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。

stage-guide-08 stage-guide-08-2

配布 - Rollout undo

環境設定配布対象設定で追加した配布対象を選択できます。 Namespaceリソースタイプリソース名Revision Backを入力します。指定したRevisionにロールバックできます。

stage-guide-09

配布 - Delete

  • 環境設定配布対象設定で追加した配布対象を選択できます。
  • Namespace, リソースタイプ選択方法*リソース名を入力します。そのリソースを削除できます。
  • 選択方法動的な方法で選択に設定する場合、クラスタ選択戦略を入力します。
  • クラスタ
    • replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
  • 選択戦略
    • Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
    • Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
    • Oldest:当該ステージが開始された時、最も古いリソースを選択します。
    • Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
    • Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。

stage-guide-10 stage-guide-10-2

配布 - Disable

  • 環境設定配布対象設定で追加した配布対象を選択できます。
  • Namespaceリソースタイプ選択方法リソース名を入力します。該当リソースを無効にできます。
    • 無効化:リソースを削除するわけではありませんが、そのリソースにトラフィックを送信しないように設定します。
  • 選択方法動的な方法で選択に設定する場合、クラスタ選択戦略を入力します。
    • クラスタ
      • replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
    • 選択戦略
      • Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
      • Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
      • Oldest:当該ステージが開始された時、最も古いリソースを選択します。
      • Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
      • Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。

stage-guide-23.png stage-guide-24.png

配布 - Enable

  • 環境設定配布対象設定で追加した配布対象を選択できます。
  • Namespaceリソースタイプ選択方法リソース名を入力します。該当リソースを有効にできます。
    • 有効化:当該リソースをPipelineで管理し、リソースにトラフィックを送るように設定します。
  • 選択方法動的な方法で選択に設定する場合、クラスタ選択戦略を入力します。
    • クラスタ
      • replicaSetの場合、Pipeline内部でバージョンを指定して配布し、動的な方法で選択を選択すると、特定のバージョンを選択するのではなく、選択戦略によって対象を選択します。
    • 選択戦略
      • Newest:当該ステージが開始された時、最も最近に配布されたリソースを選択します。
      • Second Newest:当該ステージが開始された時、2番目に最近配布されたリソースを選択します。
      • Oldest:当該ステージが開始された時、最も古いリソースを選択します。
      • Largest:当該ステージが開始された時、クラスタでPod数が一番多いリソースを選択します。
      • Smallest:当該ステージが開始された時、クラスタでPod数が一番少ないリソースを選択します。

stage-guide-25.png stage-guide-26.png

stage-guide-10

機能

追加機能を提供するステージです。

機能 - Webhook

URLにHTTPメソッドとURLを入力します。必要に応じてリクエストヘッダリクエストデータを追加できます。 Webhookのレスポンス値がFail Fast HTTPステータスコードに入力した値の1つである場合は、すぐにそのそのステージを終了します。

stage-guide-11

機能 - Judgement(実行管理)

必要に応じて実行管理ステージの説明実行設定の値を入力できます。

stage-guide-12

実行設定の有無に関係なく、次のステージに対する実行管理(実行、実行停止)ができ、実行設定を追加して次のステージの実行を選択する場合、次に説明するステージであるPrecondition(実行条件)に設定値を渡して分岐処理を行うことができます。

stage-guide-13

機能 - Precondition(実行条件)

前の段階で設定されたJudgement(実行管理)ステージで渡された値を実行条件によって後のステージの実行を決定します。 Judgement(実行管理)ステージで渡された設定値と実行条件の条件値に対して実行条件一致/実行条件不一致の中から選択して以降のステージの実行を決定します。

stage-guide-14

配布 - NHN Container Service

NCSワークロードのテンプレートを交換できるステージです。 NCSアプリケーションキーを入力すると、NCSロール、テンプレートリスト、ワークロードリストが照会されます。
変更するテンプレートをリストから選択できます。
テンプレートを変更するワークロードをリストから選択できます。

stage-guide-22.png

機能 - Precondition(ステージ状態条件)

以前段階のステージ名と実行結果を選択して条件を設定できます。 指定したすべての条件が満たされると次のステージが実行されます。

stage-guide-28

機能 - 他のパイプラインの実行

ステージで他のパイプライン全体を実行できます。 実行したいパイプライン名を選択します。 stage-guide-15

実行条件を選択解除すると、選択したパイプラインの実行状態を待たずに、次のステージが実行されます。

stage-guide-16

機能 - 承認管理

機能 - 承認管理ステージ以降のステージに対する実行管理(実行、実行停止)を承認権者が管理できます。

stage-guide-17

ステージにリクエスト内容に対して作成でき、承認管理ステージの実行管理(実行、実行停止)は、プロジェクトロールでPipeline APPROVAL ADMINロールを持つユーザーのみ行うことができます。

Pipeline APPROVAL ADMINロールは、プロジェクトのメンバー管理、ロールグループ管理で付与できます。

stage-guide-18

機能 - NHN Cloud Deployサービス配布実行

ステージでNHN Cloud Deployサービスを使用して配布を実行できます。 - 配布を実行するアーティファクトのCommand TypeSSHである場合、NHN Cloud Deployサービス配布実行機能をサポートしておらず、Cloud Agentである場合にのみサポートします。関連する内容についてはDeploy使用ガイドを参照してください。

stage-guide-19

環境設定 > NHN Cloudセキュリティ設定で追加したセキュリティ設定を選択し、AppKeyにはNHN Cloud Deployサービスを使用するAppkeyを入力します。

情報を入力し検索をクリックすると、入力したセキュリティ設定とAppkeyに合うNHN Cloud Deployの配布関連情報が表示されます。

その後、NHN Cloud Deployサービスを通じて配布するアーティファクトサーバーグループシナリオを選択できます。

配布制限時間には該当ステージの実行完了待機時間を指定します。(最短1分、最長600分)

stage-guide-20

配布詳細設定では、配布する対象に条件を追加できます。

サーバー選択で配布するサーバーを選択できます。全体サーバーを選択すると、全体サーバーを対象に配布を実行でき、サーバー選択をクリックすると、配布するサーバーを選択できます。

同時サーバー実行数でNHN Cloud Deployサービスが同時にいくつのサーバーを実行するか選択できます。(デフォルト値は1、最大サーバー数)

配布ノートには配布実行情報を入力できます。

詳しい説明についてはDeploy使用ガイドを参照してください。

ステージ共通機能

ステージ失敗時

ステージが失敗した時のパイプライン実行に関する設定を選択できます。

stage-guide-27

  • 全てのパイプライン終了
    • 該当ステージが失敗すると、パイプライン全体が終了します。
  • 該当ブランチのみ終了
    • 該当ステージが属するブランチだけ終了し、他のブランチのパイプラインは続行されます。
  • 該当ブランチが終了し、他のブランチの終了時に失敗
    • そのステージが属するブランチだけが終了し、他のブランチのパイプラインは続行されます。しかし、そのパイプラインの結果は失敗として残ります。
  • 失敗を無視して進行
    • 該当ステージが失敗しても、次のステージが進行します。
TOP