のクローン作成ガイドライン DevOps チェンジベロシティ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:17分
  • あるインスタンスから別のインスタンスに DevOps チェンジベロシティ アプリケーションのクローンを作成します。

    注:
    Utah 以降に有効です。

    で使用されるグローバルテーブルのベースシステムテーブルの除外とプリザーバー DevOps

    テーブル名 除外テーブルエントリが存在しますか? データプリザーバーエントリが存在しますか?
    DevOps ツールの場合
    sys_alias いいえ いいえ
    http_connection はい はい
    discovery_credentials はい はい
    oauth_entity_profile はい はい
    oauth_entity はい はい
    jwt_provider はい はい
    jwt_keystore_aliases はい はい
    sys_certificate はい はい
    token_verification はい はい
    sys_user_group いいえ いいえ
    DevOps アプリの場合
    cmdb_ci_business_app いいえ いいえ
    cmdb_ci_sdlc_component いいえ いいえ
    cmdb_application_product_model いいえ いいえ

    ソースインスタンスからクローンされたツール

    • ソースインスタンスからクローンされたツールには、接続エイリアス (sys_alias) が関連付けられます。
    • 接続レコードと認証情報レコードは、これらのテーブルが除外されているため、ソースインスタンスからクローンされません。
    • ツール URL は接続レコードを使用して動的に計算されるため、ツール URL は空になります。
    • アクティブな接続がないため、接続テストが失敗します。
    • プロジェクト、計画、パイプライン、リポジトリ、作業アイテム、コミット、パイプライン実行などの基になるすべてのエンティティがツールの下に存在する必要があります。
    • ツールのトークンは複製されません。
    • 新しい Webhook 受信イベントは、これらのツールのクローンされたターゲットインスタンスへの受信を自動的に開始しません。新しい受信イベントを受信するには、ツールを再構成する必要があります。

    クローンツールの手動ステップ

    1. 接続と資格情報を作成
      • ツールレコードの関連リンクの下にある [新しい接続および資格情報を作成 ] アクションを使用するか、接続 (http_connection) レコードと資格情報 (discovery_credentials) レコードを手動で作成し、ツールの接続エイリアスに関連付けます。
      • ツールで [接続 ] アクションを手動で実行し、ツールの接続状態が [接続済み] になっていることを確認します。
    2. トークンを再生成して構成
      • トークンベースの Webhook 構成をサポートするツールの場合は、ツールレコードページの [関連リンク] から [ トークンを再生成 ] アクションを使用します。
      • トークンを再生成すると、token_verificationテーブルに新しいトークンが作成され、[構成] ステータスが [構成済み] であるツールとリポジトリの Webhook が作成されます。
      • トークンベースの Webhook をサポートしていないツールの場合は、[ 構成 ] をクリックし、 DevOps 統合ユーザーのユーザー名とパスワードを入力します。

    ソースインスタンスからクローンされたアプリ

    • ソースインスタンスからクローンされたアプリには、すべてのアプリの関連付けがそのまま残ります。
    • ビジネスアプリと SDLC コンポーネントのリンクは維持されます。
    • クローン作成後に手動の手順は必要ありません。

    ターゲットインスタンスのデータを保持する

    ターゲットインスタンス上の既存のツール、ツール接続、およびアプリを保持することを目指します。

    レベル 1 データプリザーバー

    表 : 1. 必要なデータプリザーバー
    タイトル テーブル名 目的 提案されたフィルター
    DevOps ツール sn_devops_tool 最上位の DevOps ツールリストを保持します。 connection_state=connected^EQ は、接続されているすべてのツールを保持するか、特定のツール ID でフィルタリングします。
    接続および資格情報エイリアス sys_alias 接続の詳細を保持するために DevOps ツールで指定されます。 idLIKEdevops^ORidLIKEspoke^EQ を使用して、 DevOpsに関連するすべてのエイリアスを保持します。
    DevOpsアプリ sn_devops_app トップレベルの DevOps アプリリストを保持する。

    クローン作成後に保持されたツールの手動ステップ

    1. 保守担当者

      クローン作成前にターゲットインスタンスのツールに [保守担当者 ] ユーザーグループが指定されていた場合は、ユーザーグループを更新し、クローン作成後にツールレコードに手動で設定します。

    2. 検出
      • プロジェクト、パイプライン、計画、およびリポジトリは、クローン後に保持されたツールには存在しません。
      • Azure DevOpsツールの場合は、最初に [プロジェクトの検出] を実行します。
      • ツールまたはプロジェクトで 検出 アクションを実行して、パイプライン、計画、リポジトリの詳細を表示します。
    3. 追跡

      必要なパイプライン、計画、およびリポジトリを追跡します。

    4. Configure (構成)
      • Webhook URL がツールsys_idへの参照のみを保持するツールではオプションです。たとえば、 GitHubGitLabJiraBitbucket などです。
      • 再検出後にプロジェクトsys_idが変更されたため、 Azure DevOps プロジェクトを再構成する必要があります。
      • トークンはツールで同じままです。
      • 再構成後に、サードパーティの DevOps ツールで重複する Webhook が作成されていないことを確認します。
    5. 履歴インポート

      インポートアクションまたはワークスペースを使用して、計画、リポジトリ、およびパイプラインの履歴データをインポートします。

    クローン作成後の保持されたアプリの手動手順

    1. 保守担当者

      クローン作成前にターゲットインスタンスのアプリに [保守担当者 ] ユーザーグループが指定されていた場合は、クローン作成後にユーザーグループを更新し、アプリレコードに手動で設定します。

    2. アプリに関連付ける

      計画、リポジトリ、パイプラインをアプリに手動で再関連付けします。

    3. SDLC コンポーネントとアプリケーションモデルへの再リンク

      DevOps アプリを SDLC コンポーネントに、SDLC コンポーネントをアプリケーションモデルに手動で関連付けます。

    レベル 2 データプリザーバー

    DevOpsツールとDevOpsアプリのデータと関係を保持することを目指します。これらのプリザーバーは、レベル 1 のプリザーバーおよび手動の手順と一緒に使用する必要があります。

    表 : 2. 必要なデータプリザーバー
    タイトル テーブル名 目的 提案されたフィルター
    プラグイン:DevOps データモデル
    アーティファクトリポジトリ sn_devops_artifact_repository アーティファクトリポジトリのトップレベルのリスト。保持されたツールに関連付けられているアーティファクトリポジトリを保持するために必要です。 tool=toolid^EQで、 toolid は保持される工具です。
    アーティファクト sn_devops_artifact アーティファクトのトップレベルのリスト。保存されたツールに関連付けられているアーティファクトを保持するために必要です。 artifact_repository.tool=toolid^EQで、「toolid」は保持されるツールです。
    Pipeline (パイプライン) sn_devops_pipeline パイプラインのトップレベルのリスト。保持されたツールに関連付けられているパイプラインを保持するために必要です。 tool=toolid^EQで、 toolid は保持される工具です。
    リリースバージョン sn_devops_plan_version リリースバージョンのトップレベルのリスト。保存された計画立案ツールに関連付けられているリリースバージョンを保持するために必要です。 plan.tool=toolid^EQで、 toolid は保持されるツールです。
    プラン sn_devops_plan 計画のトップレベルのリスト。保存された計画立案ツールに関連付けられている計画を保持するために必要です。 tool=toolid^EQで、 toolid は保持される工具です。
    プロジェクト sn_devops_project プロジェクトの最上位リスト。保持されたツールに関連付けられているプロジェクトを保持するために必要です。現在、 Azure DevOps でサポートされています。 tool=toolid^EQで、 toolid は保持される工具です。
    リポジトリ sn_devops_repository リポジトリのトップレベルのリスト。保存されたコーディングツールに関連付けられているリポジトリを保持するために必要です。 tool=toolid^EQで、 toolid は保持される工具です。
    アーティファクトリポジトリへのアプリ sn_devops_m2m_app_artifact_repository アプリ/アーティファクトリポジトリの関連付け。保持されたアプリとアーティファクトリポジトリの関係を維持するために必要です。 app=appid^EQで、 appid は保持されるアプリです。
    アプリからアーティファクトへ sn_devops_m2m_app_artifact アプリ/アーティファクトの関連付け。保存されたアプリとアーティファクトの関係を維持するために必要です。 app=appid^EQで、 appid は保持されるアプリです。
    アプリを計画に sn_devops_m2m_app_plan アプリ/プランの関連付け。保持されているアプリと計画の関係を維持するために必要です。 app=appid^EQで、 appid は保持されるアプリです。
    プラグイン:DevOps 脆弱性統合
    DevOps セキュリティオーケストレーション関係 sn_devops_security_orchestration_relation DevOpsエンティティ (パイプラインなど) とセキュリティツールの間の関係を維持するために必要です。 reference_table=sn_devops_pipeline

    カスタム統合データプリザーバー

    ターゲットインスタンス上のカスタムツール統合に関連するメタデータを保持することを目指します。これらのデータプリザーバーは、レベル 1 とレベル 2 の両方のプリザーバーで使用できます。

    表 : 3. 必要なデータプリザーバー
    タイトル テーブル名 目的 提案されたフィルター
    プラグイン:DevOps データモデル
    カスタムツールの統合機能 sn_devops_integration_capability サポートされているアクションをカスタムツール統合の統合機能マッピングレコードに保持するために必要です。 tool_integration=customToolIntegrationId^EQ で、 customToolIntegrationId はカスタムツール統合の sys_id です。
    カスタムツール統合機能マッピング sn_devops_tool_capability_mapping カスタムツール統合の統合機能マッピングレコードを保持するために必要です。 tool_integration=customToolIntegrationId^EQ で、 customToolIntegrationId はカスタムツール統合の sys_id です。
    カスタム DevOps ツール統合 sn_devops_tool_integration カスタムツール統合のツール統合レコードを保持するために必要です。 sys_id=customToolIntegrationId^EQで、 customToolIntegrationId はカスタムツール統合の sys_id です。
    カスタムツール権限 sn_devops_tool_permission カスタムツール統合の権限確認レコードを保持するために必要です。 tool_integration=customToolIntegrationId^EQ で、 customToolIntegrationId はカスタムツール統合の sys_id です。
    プラグイン:DevOps Workspace
    カスタムツール オンボーディングタスクタイプ sn_devops_ws_onboarding_task_type カスタムツール統合のオンボーディングタスクタイプを維持するために必要です。 tool_integration=customToolIntegrationId^EQです。ここで、 customToolIntegrationId はカスタムツール統合のsys_idです。

    レベル 3 データプリザーバー

    ターゲットインスタンス内のすべての m2m マッピングがそのまま残ることを目指します。
    注:
    具体的なテーブル DevOps は次のとおりです。他のデータを配置する必要がある場合は、それらのテーブルをプリザーバーリストに追加できます。たとえば、変更要求などです。
    表 : 4. テーブルの保持と除外
    名前 テーブル名 アプリケーション
    App (アプリ) sn_devops_app DevOps データモデル
    アーティファクト sn_devops_artifact DevOps データモデル
    アーティファクトリポジトリ sn_devops_artifact_repository DevOps データモデル
    アーティファクトステージング済み要求 sn_devops_artifact_staging DevOps データモデル
    アーティファクトバージョン sn_devops_artifact_version DevOps データモデル
    基本計画立案アイテム sn_devops_base_planning_item DevOps データモデル
    分岐 sn_devops_branch DevOps データモデル
    ビルドテスト結果 sn_devops_build_test_result DevOps データモデル
    ビルドテストサマリー sn_devops_build_test_summary DevOps データモデル
    コールバック sn_devops_callback DevOps データモデル
    変更参照 sn_devops_change_reference DevOps データモデル
    コミット sn_devops_commit DevOps データモデル
    コミット担当者 sn_devops_committer DevOps データモデル
    コミットの詳細 sn_devops_commit_details DevOps データモデル
    貢献者スコア変更係数 sn_devops_contributor_score_chg_factor DevOps データモデル
    環境 sn_devops_environment DevOps データモデル
    要求をインポート sn_devops_import_request DevOps データモデル
    要求ページをインポート sn_devops_import_request_page DevOps データモデル
    受信イベント sn_devops_inbound_event DevOps データモデル
    アプリからアーティファクトへ sn_devops_m2m_app_artifact DevOps データモデル
    アーティファクトリポジトリへのアプリ sn_devops_m2m_app_artifact_repository DevOps データモデル
    アプリを計画に sn_devops_m2m_app_plan DevOps データモデル
    TaskExecution に展開されたアーティファクト sn_devops_m2m_artifact_execution DevOps データモデル
    コミットするアーティファクトバージョン sn_devops_m2m_artifact_version_commit DevOps データモデル
    パッケージ化するアーティファクトバージョン sn_devops_m2m_artifact_version_package DevOps データモデル
    コミットを分岐に sn_devops_m2m_branch_commit DevOps データモデル
    コミットを実行 sn_devops_m2m_commit_execution DevOps データモデル
    プル要求にコミット sn_devops_m2m_commit_pull_request DevOps データモデル
    作業アイテムにコミット sn_devops_m2m_commit_work_item DevOps データモデル
    受信イベントマッピングへのインポート要求 sn_devops_m2m_inbound_event_import_request DevOps データモデル
    ツール統合構成テンプレート sn_devops_m2m_tool_integration_configuration_template DevOps データモデル
    リリースバージョンに対する作業アイテム sn_devops_m2m_work_item_plan_version DevOps データモデル
    オーケストレーションタスク sn_devops_orchestration_task DevOps データモデル
    オーケストレーションタスク定義 sn_devops_orchestration_task_definition DevOps データモデル
    DevOps パッケージ sn_devops_package DevOps データモデル
    参加者 sn_devops_participant DevOps データモデル
    パフォーマンステストサマリー sn_devops_performance_test_summary DevOps データモデル
    Pipeline (パイプライン) sn_devops_pipeline DevOps データモデル
    パイプライン実行 sn_devops_pipeline_execution DevOps データモデル
    プラン sn_devops_plan DevOps データモデル
    リリースバージョン sn_devops_plan_version DevOps データモデル
    処理された受信イベント sn_devops_processed_inbound_event DevOps データモデル
    プロジェクト sn_devops_project DevOps データモデル
    プル要求 sn_devops_pull_request DevOps データモデル
    リポジトリ sn_devops_repository DevOps データモデル
    ソフトウェア品質カテゴリ sn_devops_software_quality_category DevOps データモデル
    ソフトウェア品質カテゴリの詳細 sn_devops_software_quality_category_detail DevOps データモデル
    ソフトウェア品質スキャンの詳細 sn_devops_software_quality_scan_detail DevOps データモデル
    ソフトウェア品質スキャンサマリー sn_devops_software_quality_scan_summary DevOps データモデル
    ソフトウェア品質スキャンサマリー関係 sn_devops_software_quality_scan_summary_relations DevOps データモデル
    ソフトウェア品質サブカテゴリ sn_devops_software_quality_sub_category DevOps データモデル
    ステップ sn_devops_step DevOps データモデル
    ステップ実行 sn_devops_step_execution DevOps データモデル
    タグ sn_devops_tag DevOps データモデル
    タスク実行 sn_devops_task_execution DevOps データモデル
    テスト実行 sn_devops_test_execution DevOps データモデル
    テスト結果 sn_devops_test_result DevOps データモデル
    テストサマリー sn_devops_test_summary DevOps データモデル
    テストサマリー関係 sn_devops_test_summary_relations DevOps データモデル
    DevOps ツール sn_devops_tool DevOps データモデル
    ツール接続ステータス sn_devops_tool_connection_status DevOps データモデル
    ツールの接続履歴 sn_devops_tool_connectivity_history DevOps データモデル
    待機理由の追跡 sn_devops_waiting_reason_tracking DevOps データモデル
    作業アイテム sn_devops_work_item DevOps データモデル