継続的インテグレーションと継続的デリバリー (CICD) スポーク
ServiceNow インスタンスの継続的インテグレーションと継続的デリバリー (CICD) パイプラインをビルドします。アプリケーションリポジトリからのアプリケーションの公開とインストール、プラグインのアクティブ化、ATF テストスイートの実行、インスタンススキャンの実行を自動化できます。
CICD スポークアプリケーション
CICD スポークアプリケーションは、Orlando のアップグレード以降にデフォルトでインストールされます。
スポークバージョン
継続的インテグレーションと継続的デリバリ (CICD) スポーク v1.0.11 が最新バージョンです。
サポートされているバージョン
継続的インテグレーションと継続的デリバリー (CICD) REST API バージョン 1.0.0 はデフォルトで有効な Now Platform の機能です。
スポークのフロー
このスポークにはサンプルフローがありません。
スポークのサブフロー
継続的インテグレーションと継続的デリバリ (CICD) スポークでは、CICDタスクの自動化をデモするドラフト状況のサンプルサブフローが提供されます。サンプルサブフローをカスタマイズするには、新しいアプリケーションスコープにコピーします。利用可能なサンプルサブフローは次のとおりです。
| サブフロー | 説明 |
|---|---|
| プラグインをアクティブ化 | 指定されたインスタンス URL の ID でプラグインを有効化します。 |
| ID を指定してソースコントロールからの変更を適用 | システム ID を使用して、ソースコントロールからアプリケーションにリモート変更を適用します。 |
| スコープを指定してソースコントロールからの変更を適用 | スコープ名を使用して、ソースコントロールからアプリケーションにリモート変更を適用します。 |
| ID を指定して ATF スイートを開始 (ATF Suite Start With ID) | 指定されたインスタンス URL のシステム ID でテストスイートを開始します。テストスイートの実行結果を返します。 |
| 名前を指定して ATF スイートを開始 (ATF Suite Start With Name) | 指定されたインスタンス URL の名前でテストスイートを開始します。テストスイートの実行結果を返します。 |
| バッチインストール | JSON 形式のバッチ計画を指定して、複数のパッケージ (アプリケーション、アプリケーションを保存するためのカスタマイズ、およびプラグイン) を単一のバッチ操作で一緒にインストールします。 |
| バッチ結果 | 結果オブジェクトの sys_id を指定して、バッチ計画全体とともに各パッケージのインストールステータスを表示します。 |
| バッチロールバック | ロールバック ID を使用して、単一のバッチとしてインストールされたパッケージのインストールをロールバックします。 |
| インスタンススキャン結果を取得 | 進捗 ID でインスタンススキャンの実行結果を返します。Scan_results は常に返されますが、scan_finding 結果は存在する場合にのみ表示されます。 |
| ソースコントロールからアプリケーションをインポート | 所与のインスタンスのレポジトリ URL を使用して、ソースコントロールからアプリケーションをインポートします。 |
| インスタンススキャンフルスキャンを実行 | 指定されたインスタンス URL でフルインスタンススキャンを開始します。スキャンはすべてのアクティブなチェックで実行されます。 |
| インスタンススキャンポイントスキャンを実行 | 特定のテーブルとレコード (テーブルと sys_ID) から開始して、指定したインスタンスでインスタンススキャンを開始します。ターゲットは、関連する適用可能なチェックをすべて使用してスキャンされます。 |
| インスタンススキャンスイートスキャンを実行 (Instance Scan Execute Suite Scan) | 特定のチェックのスイートを使用して指定されたインスタンス URL でフルインスタンススキャンを開始します。 |
| インスタンススキャン 1 つまたは複数のスコープ対象アプリのスイートスキャンを実行 (Instance Scan Execute Suite Scan on one or more scoped apps) | 指定されたスイート ID からのチェックを使用し、指定されたスコープ対象アプリでインスタンススキャンを開始します。 |
| インスタンススキャン 1 つまたは複数の更新セットのスイートスキャンを実行 (Instance Scan Execute Suite Scan on one or more update sets) | 指定されたスイート ID からのチェックを使用し、指定された更新セットでインスタンススキャンを開始します。 |
| ID を指定してアプリケーションをインストール | アプリケーションリポジトリからシステム ID でアプリケーションをインストールします。 |
| スコープを指定してアプリケーションをインストール | アプリケーションリポジトリからスコープ名でアプリケーションをインストールします。 |
| ID を指定してアプリケーションを公開 | システム ID でアプリケーションをアプリケーションリポジトリに公開します。 |
| スコープを指定してアプリケーションを公開 | スコープ名でアプリケーションをアプリケーションリポジトリに公開します。 |
| ID を指定してアプリケーションをロールバック | システム ID でアプリケーションをロールバックします。ロールバックバージョン番号が指定されたバージョン番号と一致するか、エラーが生成されるのかを確認します。 |
| スコープを指定してアプリケーションをロールバック | スコープ名でアプリケーションをロールバックします。ロールバックバージョン番号が指定されたバージョン番号と一致するか、エラーが生成されるのかを確認します。 |
| プラグインをロールバック | 指定したインスタンス URL の ID でプラグインを最後にインストールされたバージョンにロールバックします。 |
| トラッカーが完了するまで待機 (Wait Until Tracker Completes) | トラッカーが指定されたインスタンス URL で処理を完了し、結果が返されるまで待機します。 |
スポークのアクション
継続的インテグレーションと継続的デリバリ (CICD) スポーク では、Now Platform でイベントが発生したときに CICD タスクを自動化するアクションが提供されます。使用可能なアクションは次のとおりです。
| カテゴリ | アクション | 説明 |
|---|---|---|
| アプリケーションリポジトリ | ID を指定してアプリケーションをインストール | アプリケーションリポジトリからシステム ID でアプリケーションをインストールします。 |
| スコープを指定してアプリケーションをインストール | アプリケーションリポジトリからスコープ名でアプリケーションをインストールします。 | |
| ID を指定してアプリケーションを公開 | システム ID でアプリケーションをアプリケーションリポジトリに公開します。 | |
| スコープを指定してアプリケーションを公開 | スコープ名でアプリケーションをアプリケーションリポジトリに公開します。 | |
| ID を指定してアプリケーションをロールバック | システム ID でアプリケーションをロールバックします。ロールバックバージョン番号が指定されたバージョン番号と一致するか、エラーが生成されるのかを確認します。 | |
| スコープを指定してアプリケーションをロールバック | スコープ名でアプリケーションをロールバックします。ロールバックバージョン番号が指定されたバージョン番号と一致するか、エラーが生成されるのかを確認します。 | |
| ATF | ATF スイート結果を取得 | システム ID でテストスイートの実行結果を返します。 |
| 実行トラッカーの進捗状況を取得 | システム ID でトラッカーの進捗状況情報を返します。 | |
| ID を指定して ATF スイートを開始 | 指定されたインスタンス URL のシステム ID でテストスイートを開始します。 | |
| 名前を指定して ATF スイートを開始 | 指定されたインスタンス URL の名前でテストスイートを開始します。 | |
| バッチインストール | バッチインストール | 一度に複数のアプリケーションをインストールします。 |
| バッチ結果 | バッチ計画全体とともに各パッケージのインストールステータスを表示します。 | |
| バッチロールバック | ロールバック ID を使用して、単一のバッチとしてインストールされたパッケージのインストールをロールバックします。 | |
| Instance Scan | インスタンススキャン結果を取得 | 進捗 ID でインスタンススキャンの実行結果を返します。scan_results は常に表示されますが、scan_finding 結果は存在する場合にのみ表示されます。 |
| インスタンススキャンフルスキャンを実行 | 進捗 ID でインスタンススキャンの実行結果を返します。Scan_results は常に返されますが、scan_finding 結果は存在する場合にのみ表示されます。 | |
| インスタンススキャンポイントスキャンを実行 | 指定されたインスタンス URL でフルインスタンススキャンを開始します。スキャンはすべてのアクティブなチェックで実行されます。 | |
| インスタンススキャンスイートスキャンを実行 (Instance Scan Execute Suite Scan) | 特定のテーブルとレコード (テーブルと sys_ID) から開始して、指定したインスタンスでインスタンススキャンを開始します。ターゲットは、関連する適用可能なチェックをすべて使用してスキャンされます。 | |
| インスタンススキャン 1 つまたは複数のスコープ対象アプリのスイートスキャンを実行 (Instance Scan Execute Suite Scan on one or more scoped apps) | 特定のチェックのスイートを使用して指定されたインスタンス URL でフルインスタンススキャンを開始します。 | |
| インスタンススキャン 1 つまたは複数の更新セットのスイートスキャンを実行 (Instance Scan Execute Suite Scan on one or more update sets) | 指定されたスイート ID からのチェックを使用し、指定されたスコープ対象アプリでインスタンススキャンを開始します。 | |
| プラグイン | プラグインをアクティブ化 | 指定されたインスタンス URL の ID でプラグインを有効化します。 |
| プラグインをロールバック | 指定したインスタンス URL の ID でプラグインを最後にインストールされたバージョンにロールバックします。 | |
| ソースコントロール | ID を指定してソースコントロールからの変更を適用 | システム ID を使用して、ソースコントロールからアプリケーションにリモート変更を適用します。 |
| スコープを指定してソースコントロールからの変更を適用 | スコープ名を使用して、ソースコントロールからアプリケーションにリモート変更を適用します。 | |
| ソースコントロールからアプリケーションをインポート | 所与のインスタンスのレポジトリ URL を使用して、ソースコントロールからアプリケーションをインポートします。 |
CICD アカウント要件
継続的インテグレーションと継続的デリバリ (CICD) スポーク では、基本認証情報を作成する必要があります。このユーザー認証情報で CICD アクションとフローを許可するには、admin ロールまたは sn_cicd.sys_ci_automation ロールのいずれかが必要です。
接続および資格情報エイリアスの要件
統合ハブ は、エイリアスを使用して、接続情報および認証情報、および OAuth 認証情報を管理します。エイリアスを使用することで、複数の環境を使用する場合に、複数の認証情報と接続情報プロファイルを構成する必要がなくなります。接続または認証情報が変更された場合、接続を使用するどのアクションも更新する必要はありません。
このスポークでは、CICD エイリアスレコードを使用して、ローカルインスタンスとリモートインスタンスでアクションを許可します。スポークの設定については、「 継続的インテグレーションと継続的デリバリ (CICD) スポークのセットアップ。
MID サーバー の要件
これらのアクションでは REST 呼び出しを使用します。REST 呼び出しはインスタンスまたは MID サーバーで実行できます。CICD エイリアスに関連付けられた接続レコードを使用して、アクションを実行する場所および MID サーバー 選択属性を設定します。 詳細については「MID サーバー」を参照してください。