での Jenkins パイプラインのモデル化 DevOps

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • パイプラインをアプリにマッピングし、DevOpsパイプラインステップをJenkinsステージにマッピングすることで、Jenkinsパイプラインをモデル化します。

    始める前に

    ServiceNow DevOps 用の Jenkins プラグインは、オーケストレーションツールがServiceNow DevOpsと通信し、パイプライン実行の特定の側面を制御できるように、変更の促進を有効にするために提供されています。

    Jenkins Marketplace からプラグインをインストールします。Jenkins インスタンスの [ Manage Jenkins > System configuration > Plugins (Jenkins インスタンスのプラグインを管理)] に移動します。ServiceNow DevOps プラグインを検索して選択し、[インストール] を選択します。

    必要なロール:sn_devops.admin

    このタスクについて

    スクリプト化されたパイプライン (Jenkinsfile) とフリースタイルジョブの両方がサポートされています。

    Jenkinsfile パイプラインの場合、パイプラインステップは手動ではなく自動的に作成、マッピングされ、オーケストレーションタスクに関連付けられます。

    手順

    1. パイプラインを DevOps のアプリにマップします。
      1. 移動先 DevOps > アプリ & パイプライン > アプリ をクリックし、アプリケーションレコードを開いてパイプラインに関連付けます。
      2. [パイプライン] 関連リストで、[ 編集 ...] をクリックしてアプリに関連付けるパイプラインを選択するか、[ 新規 ] をクリックしてパイプラインを作成します。
        新しいパイプラインの場合は、Jenkins で指定されている完全なプロジェクト名を使用して [ オーケストレーションパイプライン ] フィールドに入力します。
        注:
        パイプラインをアプリに関連付けている間、パイプラインステップもインポート中にフェッチされます。
      3. [送信] をクリックします。
    2. パイプライン レコードを再度開き、パイプラインからのイベントが受信されるように [ 追跡] チェック ボックスをオンにします。
      注:
      パイプラインをDevOpsと統合するには、[追跡] チェックボックスをオンにする必要があります。
    3. オーケストレーションタスクが作成されるように、各JenkinsパイプラインステージにマップするDevOpsステップを自動または手動で作成します。
      • 宣言型パイプラインまたはスクリプト化されたパイプラインの場合は、 Jenkins パイプラインを実行して、 DevOps でパイプライン ステップを自動的に作成してマップします。

        パイプラインステップは、実行中に Jenkins パイプラインからステップ通知を受信する DevOps 自動的に作成、マッピング、および関連付けられます。

      • フリースタイルジョブの場合は、各パイプラインステップを手動で作成し、 Jenkins パイプラインジョブにマップします。

        [ステップ] 関連リストで、[新規] をクリックして、Jenkinsパイプラインステージ ([オーケストレーションステージ] フィールド) ごとにDevOpsステップを作成します

        注:
        各ステップの オーケストレーションステージ フィールド値は大文字と小文字が区別され、対応する Jenkins パイプラインステージの元の名前と一致する必要があります。
        名前 パイプラインステップの名前。
        Pipeline (パイプライン) ステップが構成されるパイプライン。
        タイプ パイプラインステップタイプ。
        • 構築とテスト
        • テスト
        • Deploy (展開)
        • 展開とテスト
        • 手動
        • 製品展開
        注文

        ステップが実行される順序。

        注:
        ステップの順序によって、 パイプライン UI のカードの順序が決まります。

        パイプライン UI のカードの順序は、タスク実行によるものです。

        オーケストレーションステージ

        Jenkins パイプラインステージ名 (大文字と小文字を区別)。

        注:
        ステップを Jenkins パイプラインステージに関連付けるには、[ オーケストレーションステージ ] フィールドを構成する必要があります。
        ビジネスサービス ステップに適用される構成サービス。

        オーケストレーションタスクが作成されたら、[オーケストレーションタスク] 関連リストの各オーケストレーションタスクを DevOps パイプラインステップに関連付けます。

    4. オプション: パイプラインのタイプに基づいて、変更管理を自動または手動で有効にします。
      • 宣言型パイプラインまたはスクリプト化されたパイプラインの場合、パイプラインで snDevOpsChange スクリプトを使用した場合は、 Jenkins パイプラインを実行して変更コントロールを自動的に有効にします。また、フリースタイルジョブに用意されている手順に従って、変更管理を手動で有効にすることもできます。
      • フリースタイルジョブの場合は、ステップの [ Change control (変更管理 )] チェックボックスをオンにして、 変更の促進 と対応する構成フィールドを有効にします。
        注:
        変更を迅速化するには、ServiceNow 変更管理 をインストールする必要があります。
        変更受付

        選択すると、ステップの変更受付が有効になり、変更要求の作成時にパイプラインが一時停止しなくなります。

        すべてのパイプラインデータが変更に含まれますが、パイプラインを続行するための承認は必要ありません。

        変更承認グループ

        変更要求の承認グループ。

        変更承認グループは、DevOps変更要求のアサイン先グループになります。

        注:
        選択したグループにメンバーとグループマネージャーがいて、承認者フィールドが空でないことを確認してください。
        変更タイプ 作成する変更要求タイプ。
        • 通常 (デフォルト)
        • 標準
        • 緊急
        変更モデル 変更要求の変更モデル。詳細については、「DevOps 変更モデル」を参照してください。

        テンプレート

        注:
        このフィールドは、 変更タイプ が [通常] または [緊急] の場合にのみ表示されます。

        通常または緊急の変更要求のフィールドの自動入力に使用するテンプレートのリスト。

        テンプレートを選択するか、新しいテンプレートを作成します。

        標準的な変更テンプレート

        注:
        このフィールドは、[ 変更タイプ ] が [標準] の場合にのみ表示されます。
        標準的な変更要求に使用する標準的な変更テンプレートのリスト。
        注:
        このフィールドは、標準的な変更タイプでは必須です。
        変更をコントロールされた分岐

        (マルチブランチのみ)変更管理下にある分岐のカンマ区切りリスト。ワイルドカードがサポートされています。

    5. 移動先 DevOps > ツール > オーケストレーションツール Jenkinsツールレコードで、[DevOps Webhook URL] フィールドの値をコピーします。
      Webhook の URL には、ツールのsys_idなど、Jenkins がメッセージを送信するDevOpsの場所が含まれています。

      https://<devops.integration.user>:<password>@<your-instance>.service-now.com/api/sn_devops/v1/devops/tool/event/{sys_id of the record}

    図 : 1. DevOpsアプリ
    DevOps パイプライン
    図 : 2. DevOps パイプライン
    DevOps パイプラインステップ
    図 : 3. DevOps パイプラインステップ
    DevOps パイプラインステージ