Löschen eines Datensatzes in DevOps Change-Geschwindigkeit
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.
| 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.
|
| 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.
|
| 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.
|
| 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.
|
| 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:
|
| Pipeline-Ausführung | Schrittausführung Rückruf Aufgabenausführung:
|
| 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
|
| Repository | Tag Verzweigung: Verzweigung für Commit Bestätigen:
|
| 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
|
| Artefakt-Repository | Artefakt Artefaktversion:
|
| DevOps-Tool | Ereignis Eingehendes Ereignis Testzusammenfassung/Leistungstestzusammenfassung: Testzusammenfassungsbeziehungen Plan:
Artefakt-Repository Artefakt Artefaktversion:
Repository:
Pipeline
|
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.
|
| 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.
|
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.
Um die Eigenschaft DevOps „Kaskadierender Löschschwellenwert“ festzulegen, navigieren Sie zu . 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.
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.