でのレコードの削除 DevOps チェンジベロシティ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:9分
  • カスケードレコードの削除は、親または上位レベルのDevOpsエンティティが削除されるたびに、依存する下位レベルのDevOpsレコードをすべて削除するように実装されています。 確認ポップアップにより、レコード (ツール接続のレコードなど) を削除するとデータが失われることを理解できます。

    たとえば、計画レコードが削除されると、すべての依存作業項目、計画バージョン、および多対多の関係 (アプリと計画、作業項目と計画バージョンなど) のレコードが削除されます。

    DevOps これらのテーブルにはカスケード削除が実装されています。

    • パイプライン、パイプライン実行、ステップ、オーケストレーション タスク、タスク実行
    • リポジトリ、コミット、ブランチ、タグ
    • 計画、作業アイテム、計画バージョン
    • DevOps ツール、アーティファクトリポジトリ、アーティファクト、テストサマリー/パフォーマンステストサマリー

    DevOpsフォームの削除アクション

    sn_devops.admin ロールを持つユーザーは、 DevOps レコードを削除できますが、定義された ACL 基準を満たしている場合に限ります。

    注:
    フォームに [削除 ] ボタンを表示するには、sn_devops.admin ロールが必要であり、現在のレコードがスクリプト化された ACL で定義された条件を満たしている必要があります。
    エンティティ スクリプト化された ACL 基準
    Pipeline (パイプライン) パイプラインレコードは、他のパイプラインの他のパイプライン実行が、このパイプラインの実行によって生成されたアーティファクトバージョンに依存していない場合にのみ削除できます。
    パイプライン実行 パイプライン実行レコードを削除できるのは、このパイプライン実行によって生成されたアーティファクトバージョンに依存するパイプライン実行が他にない場合のみです。
    タスク実行
    これらの条件がすべて満たされると、タスク実行レコードを削除できます。
    • それを参照するステップ実行はありません。
    • それを参照するダウンストリームタスク実行はありません。
    • このタスク実行によってビルドされたアーティファクトバージョンに依存するパイプライン実行はありません。
    ステップ ステップレコードは、このステップを参照するオーケストレーションタスクまたはステップ実行がない場合にのみ削除できます。
    オーケストレーションタスク

    オーケストレーションタスクにステップが関連付けられている場合、このオーケストレーションタスクを参照するタスク実行がない場合にのみ削除できます。

    オーケストレーションタスクにステップが関連付けられていない場合 (Jenkins フリースタイルジョブなど)、このオーケストレーションタスクのタスク実行によって生成されたアーティファクトバージョンに依存するパイプライン実行が他にない場合のみ削除できます。

    リポジトリ

    リポジトリレコードを削除できるのは、このリポジトリのコミットがアーティファクトバージョン (コミットするアーティファクトバージョンテーブル) またはタスク実行 (コミット実行テーブル) に関連付けられていない場合のみです。

    したがって、リポジトリをクリーンアップする前に、依存パイプラインエンティティを削除してください。

    分岐 分岐レコードを削除できるのは、[コミットする分岐 (Branch To Commit)] テーブルにコミットが関連付けられていない場合のみです。
    タグ sn_devops.admin はタグレコードを削除できません。
    コミット
    これらの条件がすべて満たされた場合、コミットレコードを削除できます。
    • コミットがアーティファクトバージョン (コミットするアーティファクトバージョンテーブル) に関連付けられていません。
    • コミットはタスク実行に関連付けられていません ([コミットを実行] テーブル)。
    • このコミットは、他のコミットによって元に戻すコミットとして参照されていません。
    プラン 計画レコードを削除できるのは、この計画の作業アイテムがいずれもコミットに関連付けられていないか、参照されていない場合のみです。
    作業アイテム
    次の条件がすべて満たされると、作業アイテムレコードを削除できます。
    • 作業アイテムは、別の作業アイテムによって親として参照されていません。
    • この作業アイテムを参照または関連付けられているコミットはありません。
    計画バージョン 計画バージョンレコードを削除できるのは、[作業アイテムから計画バージョンへ] テーブルに作業アイテムが関連付けられていない場合のみです。
    テストサマリー/パフォーマンステストサマリー テストサマリーレコードは、テストサマリー関係テーブルに関連する関連レコード (アーティファクトバージョン/パッケージ/タスク実行) が関連付けられていない場合にのみ削除できます。
    アーティファクト アーティファクトレコードは、それに属するすべてのアーティファクトバージョンが削除可能な場合にのみ削除できます。
    アーティファクトリポジトリ アーティファクトリポジトリレコードは、それに属するすべてのアーティファクトが削除可能な場合にのみ削除できます。
    アーティファクトバージョン アーティファクトバージョンレコードは、タスク実行フィールドによって構築された場合にのみ削除できます。
    アーティファクトステージング済み要求 アーティファクトステージング済み要求レコードは、孤立したレコードであるか、ステータスが処理済み/エラーである場合に削除できます。
    パッケージ これらの条件がすべて満たされると、パッケージレコードを削除できます。
    • 参照されているパイプライン実行はありません。
    • パッケージレコードのタスク実行によって構築された値が null です。
    DevOps 道具 DevOps ツールレコードは、sn_devops.admin が削除することはできません。

    ビルドテストサマリー

    ビルドテスト結果

    コミットの詳細

    イベント

    受信イベント

    これらのエンティティは、sn_devops.admin が削除することはできません。

    DevOps レコード削除カスケード

    親テーブルカスケードのレコードを削除すると、階層内のすべての子レコードが削除されます。

    親レコードが削除される カスケード削除された子レコード
    Pipeline (パイプライン)

    ステップ:オーケストレーションタスク

    パイプライン実行:
    • ステップ実行
    • コールバック
    • タスク実行
      • パッケージ
      • コミットを実行
      • テストサマリー関係
      • ビルドテストの概要:ビルドテスト結果
      • アーティファクトバージョン
        • アーティファクトステージング済み要求
        • コミットするアーティファクトバージョン
        • パッケージ化するアーティファクトバージョン
    パイプライン実行

    ステップ実行

    コールバック

    タスク実行:
    • パッケージ
    • コミットを実行
    • テストサマリー関係
    • ビルドテストの概要:ビルドテスト結果
    • アーティファクトバージョン
      • アーティファクトステージング済み要求
      • コミットするアーティファクトバージョン
      • パッケージ化するアーティファクトバージョン
    ステップ

    なし。

    ステップレコードは、関連付けられたオーケストレーションタスクレコードまたはステップ実行レコードがない場合にのみ削除できます。

    オーケストレーションタスク
    タスク実行
    • パッケージ
    • コミットを実行
    • テストサマリー関係
    • ビルドテストの概要:ビルドテスト結果
    • アーティファクトバージョン
      • アーティファクトステージング済み要求
      • コミットするアーティファクトバージョン
      • パッケージ化するアーティファクトバージョン
    リポジトリ

    タグ

    ブランチ:コミットするブランチ

    コミット :
    • コミットの詳細
    • 分岐からコミット
    • タグ
    分岐 分岐からコミット
    タグ 依存する子レコードはありません。
    コミット

    コミットの詳細

    分岐からコミット

    タグ

    プラン

    作業アイテム

    アプリを計画に

    計画バージョン:作業アイテムから計画バージョンへ

    作業アイテム 作業アイテムから計画バージョンへ
    計画バージョン 作業アイテムから計画バージョンへ
    テストサマリー/パフォーマンステストサマリー テストサマリー関係
    アーティファクト
    アーティファクトバージョン
    • アーティファクトステージング済み要求
    • コミットするアーティファクトバージョン
    • パッケージ化するアーティファクトバージョン
    アーティファクトリポジトリ

    アーティファクト

    アーティファクトバージョン:
    • アーティファクトステージング済み要求
    • コミットするアーティファクトバージョン
    • パッケージ化するアーティファクトバージョン
    DevOps ツール

    イベント

    受信イベント

    テストサマリー/パフォーマンステストサマリー:テストサマリーの関係

    [Plan (計画)]:
    • 作業アイテム
    • アプリを計画に
    • 計画バージョン:作業アイテムから計画バージョンへ

    アーティファクトリポジトリ

    アーティファクト

    アーティファクトバージョン:
    • アーティファクトステージング済み要求
    • コミットするアーティファクトバージョン
    • パッケージ化するアーティファクトバージョン
    リポジトリ :
    • タグ
    • ブランチ:コミットするブランチ
    • コミット
      • コミットの詳細
      • 分岐からコミット
      • タグ
    Pipeline (パイプライン)
    • ステップ:オーケストレーションタスク

    • パイプライン実行
      • ステップ実行
      • コールバック
      • タスク実行
        • パッケージ
        • コミットを実行
        • テストサマリー関係
        • ビルドテストの概要:ビルドテスト結果
        • アーティファクトバージョン
          • アーティファクトステージング済み要求
          • コミットするアーティファクトバージョン
          • パッケージ化するアーティファクトバージョン

    DevOps レコード削除カスケード例外

    これらのレコードは常にフォアグラウンドで削除されます。

    親レコードが削除される カスケード削除された子レコード
    アーティファクトバージョン
    これらのレコードはアーティファクトバージョンとともに削除されます。
    • アーティファクトステージング済み要求
    • コミットするアーティファクトバージョン
    • パッケージ化するアーティファクトバージョン
    ビルドテストサマリー

    これらのレコードは、ビルドテストサマリーとともに削除されます。

    パッケージ
    これらのレコードはパッケージとともに削除されます。
    • アーティファクトステージング済み要求
    • パッケージ化するアーティファクトバージョン

    フォアグラウンド削除しきい値プロパティ

    デフォルトでは、 DevOps レコードの削除はフォアグラウンドで (同期的に) 行われます。つまり、同期削除中は他の UI アクションを実行できません。親レコードを削除すると複数の子レコードが削除される可能性があるため、残りのレコードがバックグラウンドで削除されるようにしきい値を設定できます。

    注:
    アーティファクトバージョン、ビルドテストサマリー、およびパッケージレコードは、常にフォアグラウンドで削除されます。

    DevOps カスケード削除しきい値プロパティを設定するには、 DevOps > 管理 > プロパティ. フォアグラウンドでカスケード削除できるレコードの合計数を定義し、その後、残りのレコードをバックグラウンドで削除します。デフォルトは 1000 です。

    注:
    階層内のテーブルのレコードは、ボトムアップ方式で削除されます。たとえば、リポジトリレコードで削除アクションをトリガーした後でも、削除が完了するまで、システムで読み取り、書き込み、および更新に使用できる可能性があります。

    DevOps レコードを削除しても、ビジネスルールやワークフローはトリガーされません。

    DevOps レコード削除 UI

    DevOpsレコードのカスケード削除は、複数の確認承認をトリガーします。

    DevOps レコードを削除

    DevOps レコード削除の警告

    DevOps レコードカスケードを削除