Löschen eines Datensatzes in DevOps Change-Geschwindigkeit

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 5 Minuten Lesedauer
  • Die kaskadierende Datensatzlöschung ist implementiert, um alle abhängigen Datensätze der niedrigeren Ebene DevOps zu löschen, wenn eine übergeordnete oder eine Entität der höheren Ebene DevOps gelöscht wird. Bestätigungs-Popups zeigen Ihnen, dass Daten verloren gehen, wenn Sie einen Datensatz löschen (z. B. den Datensatz einer Toolverbindung).

    Wenn beispielsweise ein Plandatensatz gelöscht wird, werden alle abhängigen Datensätze für Arbeitselemente, Planversionen und Viele-zu-Viele-Beziehungen (z. B. App zu Plan und Arbeitselement zu Planversion) gelöscht.

    DevOps Kaskadierende Löschung ist für diese Tabellen implementiert.

    • Pipeline, Pipeline-Ausführung, Schritt, Orchestration-Aufgabe, Aufgabenausführung
    • Repository, Commit, Verzweigung, Tag
    • Plan, Arbeitselement, Planversion
    • DevOps-Tool, Artefakt-Repository, Artefakt, Testzusammenfassung/Leistungstestzusammenfassung

    Löschaktion in einem DevOps -Formular

    Ein Benutzer mit der Rolle „sn_devops.admin“ kann einen DevOps -Datensatz löschen, jedoch nur, wenn er die definierten ACL-Kriterien erfüllt.

    Hinweis:
    Um die Schaltfläche Löschen in einem Formular anzuzeigen, müssen Sie über die Rolle sn_devops.admin verfügen, und der aktuelle Datensatz muss die in der geskripteten ACL definierten Kriterien erfüllen.
    Entität Geskriptete ACL-Kriterien
    Pipeline Ein Pipeline-Datensatz kann nur gelöscht werden, wenn keine anderen Pipeline-Ausführungen aus anderen Pipelines von den Artefaktversionen abhängig sind, die von den Pipeline-Ausführungen dieser Pipeline generiert wurden.
    Pipeline-Ausführung Ein Pipeline-Ausführungsdatensatz kann nur gelöscht werden, wenn keine anderen Pipeline-Ausführungen von den von dieser Pipeline-Ausführung generierten Artefaktversionen abhängig sind.
    Aufgabenausführung
    Ein Aufgabenausführungsdatensatz kann gelöscht werden, wenn ALLE dieser Bedingungen erfüllt sind.
    • Es gibt keine Schrittausführungen, die darauf verweisen.
    • Es gibt keine nachfolgenden Aufgabenausführungen, die darauf verweisen.
    • Es gibt keine Pipelineausführungen, die von den von dieser Aufgabenausführung erstellten Artefaktversionen abhängig sind.
    Schritt Ein Schrittdatensatz kann nur gelöscht werden, wenn keine Orchestration-Aufgaben oder Schrittausführungen vorhanden sind, die auf diesen Schritt verweisen.
    Orchestration-Aufgabe

    Wenn der Orchestration-Aufgabe ein Schritt zugeordnet ist, kann sie nur gelöscht werden, wenn keine Aufgabenausführungen vorhanden sind, die auf diese Orchestration-Aufgabe verweisen.

    Wenn der Orchestration-Aufgabe kein Schritt zugeordnet ist (Beispiel für Jenkins-Freestyle-Auftrag), kann sie nur gelöscht werden, wenn keine anderen Pipeline-Ausführungen von den Artefaktversionen abhängig sind, die durch die Aufgabenausführungen dieser Orchestration-Aufgabe generiert wurden.

    Repository

    Ein Repository-Datensatz kann nur gelöscht werden, wenn keiner der Commits dieses Repositorys den Artefaktversionen (Tabelle „Artefaktversion zu Commit“) oder Aufgabenausführungen (Tabelle „Run Commit“ zugeordnet ist).

    Löschen Sie daher vor der Bereinigung des Repositorys die abhängigen Pipeline-Entitäten.

    Verzweigung Ein Verzweigungsdatensatz kann nur gelöscht werden, wenn ihm in der Tabelle „Verzweigung zu Commit“ keine Commits zugeordnet sind.
    Tag Ein Tag-Datensatz kann nicht von einem sn_devops.admin gelöscht werden.
    Commit
    Ein Commit-Datensatz kann gelöscht werden, wenn ALLE dieser Bedingungen erfüllt sind.
    • Der Commit ist nicht mit der Artefaktversion (Tabelle „Artefaktversion zu Commit“) verknüpft.
    • Der Commit ist nicht mit Aufgabenausführungen verknüpft (Tabelle „Commit ausführen“).
    • Der Commit wird von anderen Commits nicht als rückgängig gemachter Commit referenziert.
    Planen Ein Plandatensatz kann nur gelöscht werden, wenn keines der Arbeitselemente dieses Plans von Commits zugeordnet oder referenziert wird.
    Arbeitselement
    Ein Arbeitselement-Datensatz kann gelöscht werden, wenn ALLE dieser Bedingungen erfüllt sind.
    • Das Arbeitselement wird nicht von einem anderen Arbeitselement als übergeordnetes Element referenziert.
    • Es gibt keine Commits, die auf dieses Arbeitselement verweisen oder ihm zugeordnet sind.
    Planversion Ein Planversionsdatensatz kann nur gelöscht werden, wenn ihm in der Tabelle „Arbeitselement in Planversion“ keine Arbeitselemente zugeordnet sind.
    Testzusammenfassung/Leistungstestzusammenfassung Ein Testzusammenfassungsdatensatz kann nur gelöscht werden, wenn ihm kein zugehöriger Datensatz (Artefaktversion/Paket/Aufgabenausführung) in der Tabelle „Testzusammenfassungsbeziehungen“ zugeordnet ist.
    Artefakt Ein Artefaktdatensatz kann nur gelöscht werden, wenn alle zugehörigen Artefaktversionen löschbar sind.
    Artefakt-Repository Ein Artefakt-Repository-Datensatz kann nur gelöscht werden, wenn alle zugehörigen Artefakte löschbar sind.
    Artefaktversion Ein Artefaktversionsdatensatz kann nur gelöscht werden, wenn das Feld „Aufgabenausführung erstellt“ leer ist.
    Bereitgestellte Artefaktanforderung Ein Datensatz einer bereitgestellten Artefaktanforderung kann gelöscht werden, wenn er entweder verwaist ist oder wenn er den Status „Verarbeitet/Fehler“ aufweist.
    Paket Ein Paketdatensatz kann gelöscht werden, wenn ALLE dieser Bedingungen erfüllt sind.
    • Es werden keine Pipeline-Ausführungen darauf verwiesen.
    • Der Wert, der von der Aufgabenausführung im Paketdatensatz erstellt wurde, ist NULL.
    DevOps Tool Ein Datensatz des Tools DevOps kann nicht von einem sn_devops.admin gelöscht werden.

    Zusammenfassung von Build-Tests

    Buildtestergebnis

    Commit-Details

    Ereignis

    Eingehendes Ereignis

    Diese Entitäten können nicht von einem sn_devops.admin gelöscht werden.

    DevOps Kaskade der Datensatzlöschung

    Durch das Löschen eines Datensatzes in einer übergeordneten Tabellenkaskadierung werden alle untergeordneten Datensätze in der Hierarchie gelöscht.

    Übergeordneter Datensatz, der gelöscht wird Gelöschte untergeordnete Datensätze kaskadieren
    Pipeline

    Schritt: Orchestration-Aufgabe

    Pipeline-Ausführung:
    • Schrittausführung
    • Rückruf
    • Aufgabenausführung
      • Paket
      • Commit ausführen
      • Testzusammenfassungsbeziehungen
      • Build-Testzusammenfassung: Build-Testergebnis
      • Artefaktversion
        • Bereitgestellte Artefaktanforderung
        • Zu committende Artefaktversion
        • Artefaktversion zu Paket
    Pipeline-Ausführung

    Schrittausführung

    Rückruf

    Aufgabenausführung:
    • Paket
    • Commit ausführen
    • Testzusammenfassungsbeziehungen
    • Build-Testzusammenfassung: Build-Testergebnis
    • Artefaktversion
      • Bereitgestellte Artefaktanforderung
      • Zu committende Artefaktversion
      • Artefaktversion zu Paket
    Schritt

    Keine.

    Ein Schrittdatensatz kann nur gelöscht werden, wenn ihm keine Datensätze für Orchestration-Aufgaben oder Schrittausführungen zugeordnet sind.

    Orchestration-Aufgabe
    Aufgabenausführung
    • Paket
    • Commit ausführen
    • Testzusammenfassungsbeziehungen
    • Build-Testzusammenfassung: Build-Testergebnis
    • Artefaktversion
      • Bereitgestellte Artefaktanforderung
      • Artefaktversion zu Commit
      • Artefaktversion zu Paket
    Repository

    Tag

    Verzweigung: Verzweigung für Commit

    Bestätigen:
    • Commit-Details
    • Verzweigung in Commit
    • Tag
    Verzweigung Verzweigung in Commit
    Tag Keine abhängigen untergeordneten Datensätze.
    Commit

    Commit-Details

    Verzweigung in Commit

    Tag

    Planen

    Arbeitselement

    App in Plan

    Planversion: Arbeitselement in Planversion

    Arbeitselement Arbeitselement in Planversion
    Planversion Arbeitselement in Planversion
    Testzusammenfassung/Leistungstestzusammenfassung Testzusammenfassungsbeziehungen
    Artefakt
    Artefaktversion
    • Bereitgestellte Artefaktanforderung
    • Artefaktversion zu Commit
    • Artefaktversion zu Paket
    Artefakt-Repository

    Artefakt

    Artefaktversion:
    • Bereitgestellte Artefaktanforderung
    • Artefaktversion zu Commit
    • Artefaktversion zu Paket
    DevOps-Tool

    Ereignis

    Eingehendes Ereignis

    Testzusammenfassung/Leistungstestzusammenfassung: Testzusammenfassungsbeziehungen

    Plan:
    • Arbeitselement
    • App in Plan
    • Planversion: Arbeitselement in Planversion

    Artefakt-Repository

    Artefakt

    Artefaktversion:
    • Bereitgestellte Artefaktanforderung
    • Artefaktversion zu Commit
    • Artefaktversion zu Paket
    Repository:
    • Tag
    • Verzweigung: Verzweigung für Commit
    • Commit
      • Commit-Details
      • Verzweigung in Commit
      • Tag
    Pipeline
    • Schritt: Orchestration-Aufgabe

    • Pipeline-Ausführung
      • Schrittausführung
      • Rückruf
      • Aufgabenausführung
        • Paket
        • Commit ausführen
        • Testzusammenfassungsbeziehungen
        • Build-Testzusammenfassung: Build-Testergebnis
        • Artefaktversion
          • Bereitgestellte Artefaktanforderung
          • Zu committende Artefaktversion
          • Artefaktversion zu Paket

    DevOps kaskadierende Ausnahmen für Datensatzlöschungen

    Diese Datensätze werden immer im Vordergrund gelöscht.

    Übergeordneter Datensatz, der gelöscht wird Gelöschte untergeordnete Datensätze kaskadieren
    Artefaktversion
    Diese Datensätze werden zusammen mit der Artefaktversion gelöscht.
    • Bereitgestellte Artefaktanforderung
    • Zu committende Artefaktversion
    • Artefaktversion zu Paket
    Zusammenfassung von Build-Tests

    Diese Datensätze werden zusammen mit der Build-Testzusammenfassung gelöscht.

    Paket
    Diese Datensätze werden zusammen mit dem Paket gelöscht.
    • Bereitgestellte Artefaktanforderung
    • Artefaktversion zu Paket

    Schwellenwert für Löschung im Vordergrund

    Das Löschen von DevOps Datensätzen erfolgt standardmäßig (synchron) im Vordergrund. Das heißt, während des synchronen Löschens können keine anderen UI-Aktionen ausgeführt werden. Da das Löschen eines übergeordneten Datensatzes zur Löschung mehrerer untergeordneter Datensätze führen kann, können Sie einen Schwellenwert festlegen, sodass die verbleibenden Datensätze im Hintergrund gelöscht werden.

    Hinweis:
    Artefaktversion, Build-Testzusammenfassung und Paketdatensätze werden immer im Vordergrund gelöscht.

    Um die Eigenschaft DevOps „Kaskadierender Löschschwellenwert“ festzulegen, navigieren Sie zu DevOps > Administration > Eigenschaften. Definieren Sie die Gesamtzahl der Datensätze, die im Vordergrund kaskadierend gelöscht werden können. Danach werden die verbleibenden Datensätze im Hintergrund gelöscht. Der Standardwert ist 1.000.

    Hinweis:
    Die Datensätze von Tabellen in einer Hierarchie werden von unten nach oben gelöscht. Beispielsweise ist es möglich, dass selbst nach dem Auslösen der Löschaktion für einen Repository-Datensatz dieser weiterhin zum Lesen, Schreiben und Aktualisieren im System verfügbar ist, bis der Löschvorgang abgeschlossen ist.

    DevOps Das Löschen von Datensätzen löst keine Business-Regeln oder Workflows aus.

    DevOps Datensatzlöschungs-UI

    Das kaskadierende Löschen eines DevOps -Datensatzes löst mehrere Bestätigungsgenehmigungen aus.

    DevOps Datensatz löschen

    DevOps Warnung vor Datensatzlöschung

    DevOps kaskadierende Datensätze löschen