Tipps zur Produktionsbereitstellung

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 5 Minuten Lesedauer
  • Wenn Sie Anpassungen für Anwendungen auf der Plattform ServiceNow® entwickeln, stellen Sie sie über das Anwendungs-Repository in einer Produktionsinstanz bereit. In diesem Thema werden die Probleme zwischen der Installation einer Anwendung aus dem Anwendungs-Repository und der Installation eines Git-Repositorys mit Quellcodeverwaltung untersucht, und es werden Warnungen dazu gegeben.

    Übersicht

    Technisch gesehen können Sie eine Anwendung weiterhin mithilfe der Quellcodeverwaltung aus einem Git-Repository in einer Produktionsinstanz „bereitstellen“. Dies kann unbeabsichtigte Konsequenzen haben.

    Glossar der Begriffe

    Begriff Definition
    Metadaten oder Anwendungsdateien Die sys_metadata-Datensätze, die die Konfiguration in ServiceNow definieren und in einer Anwendung verpackt sind. Diese Datensätze ändern das Verhalten der Instanz, enthalten jedoch keine Daten wie Incident- oder CMDB-Datensätze. (Siehe Hinweis unten)
    Bereichsbezogene Anwendungen ServiceNow-Anwendungen, die einschränken und nur Aktualisierungen und Vorgänge innerhalb der Grenzen des Bereichs zulassen. Dieser Mechanismus wird für die meisten Neuentwicklungen verwendet.
    Globale Anwendungen Globale Anwendungen werden im veralteten globalen Bereich entwickelt. In diesem Bereich wird häufig daran gearbeitet, vorhandene ServiceNow-Anwendungen wie IT Service Management (ITSM) anzupassen.
    Anwendungs-Repository Anwendungen werden normalerweise hier zur Bereitstellung in Produktionsinstanzen veröffentlicht. Obwohl das Anwendungs-Repository über separate Berechtigungsregeln verfügt, funktioniert es ähnlich wie der ServiceNow Store.
    ServiceNow Store Repository für Anwendungen von Drittanbietern (Lieferanten) sowie von ServiceNow veröffentlichte Anwendungen. Die meisten Kunden veröffentlichen nicht im Store, installieren jedoch häufig Anwendungen aus dem Store.
    Update Sets Standardmethode zum Packen von Anpassungen für die Bereitstellung in jeder nachfolgenden Instanz. Sie enthalten die inkrementelle Sammlung von Einfügungen, Aktualisierungen und Löschungen.
    Delta wird geladen Die effizienteste Methode zum Laden, da Änderungen nur aus der Quellcodeverwaltung und nicht aus früheren Deinstallations-/Neuinstallationsmethoden erfolgen.
    Schema Definition von Tabellen und Spalten in den Tabellen.
    Rollback Administratoren können die letzte Installation einer ausgewählten Anwendung zurücksetzen. Bei einem Rollback werden alle Code-, Tabellen- und Dateiaktualisierungen aus der Erstinstallation entfernt.
    Hinweis:
    Die Tabelle „sys_metadata“ ist die übergeordnete Tabelle aller Anwendungsdateien in der Plattform ServiceNow, die das Tabellenvererbungsmodell verwendet. Sie können Zusammenfassungsinformationen für Metadaten anzeigen, indem Sie die übergeordnete Tabelle oder Tabellen aufrufen, die direkt oder indirekt erweitert werden, wie durch das Feld Erweitert Tabelle (Super_Class) im Datensatz Tabelle (sys_db_object) angegeben. Sie können das gesamte Schema auch anzeigen, indem Sie das Formular „Tabelle (sys_db_object)“ für die Tabelle „ sys_metadata“ aufrufen und den zugehörigen Link Schemazuordnung anzeigen am unteren Rand des Formulars auswählen. Das Schema ist groß, und das Rendern dauert einige Zeit.

    Schemazuordnung

    Schemazuordnungs-Inhaltsverzeichnis

    Installationsort

    Wenn Sie die Quellcodeverwaltung installieren, erleichtert dies die laufende Entwicklung einer benutzerdefinierten Anwendung. Daher wird die Anwendung als Anwendung „In Entwicklung“ in der Tabelle „Benutzerdefinierte Anwendung“ [sys_app] und nicht als Anwendung „Installiert“ in der Tabelle „Store-Anwendung“ [sys_store_app] verwaltet. Beide Tabellen sind Erweiterungen von sys_scope, daher bieten sie dieselben Schutzmaßnahmen und Einschränkungen wie der Bereich. Wenn Sie also nach der Installation einer bereitgestellten Quellcodeverwaltungsanwendung suchen, konsultieren Sie die Systemanwendungstabelle [sys_app] und den Abschnitt „ In Entwicklung “ der Seite „Anwendungsmanager“.

    Sie können keinen sys_app-Datensatz in der Instanz haben, während Sie dieselbe Anwendung aus dem ServiceNow Store oder dem Anwendungs-Repository bereitstellen. Die beiden Bereitstellungsmodelle schließen sich gegenseitig aus. Wenn sich das Bereitstellungsmodell ändert, muss der sys_app-Datensatz zuerst in einen sys_store_app-Datensatz konvertiert werden. Sie können sich an den ServiceNow-Support wenden, um Hilfe bei der Durchführung dieses Vorgangs zu erhalten.

    Delta wird geladen

    Vor dem ServiceNow Paris-Release wurde bei einer Anwendungsinstallation aus der Quellcodeverwaltung immer die gesamte Anwendung entfernt und neu installiert, wenn sie ausgelöst wurde, einschließlich der Funktion Remote-Changes anwenden. Mit Delta wird geladenwerden jetzt nur die Änderungen aktualisiert, was den Prozess erheblich vereinfacht.

    Beim Delta-Ladevorgang werden die Änderungen inkrementell aus der Quellcodeverwaltung geladen. Wenn Sie Remote-Changes anwenden, verwerfen Sie vorhandene Tabellen oder Spalten nicht, es sei denn, sie wurden aus dem Repository entfernt. Dadurch werden die Daten für Tabellen und Felder beibehalten, die weiterhin vorhanden waren.
    Hinweis:
    Mit der Eigenschaft glide.source_control.allow_delta_loading_in_scopedapp können Sie das Delta-Laden in Paris deaktivieren. Dadurch wird jedoch das destruktivere Verhalten des Entfernens und erneuten Installierens der Anwendung wiederhergestellt. Globale Anwendungen in Paris verwenden immer das Delta-Laden.
    Nachfolgend finden Sie eine Tabelle der verschiedenen erwarteten Ergebnisse in einer Instanz mit Delta-Belastung.
    Anwendungstyp Installieren Sie die Quelle Schema im Paket vorhanden Schema enthält Daten Anspruch durch eine andere App (global) Erwartetes Ergebnis für Daten und Schema
    Mit Umfang Anwendungs-Repository oder Store Ja Ja/Nein N/V Erhalten
    Mit Umfang Anwendungs-Repository oder Store Nein Ja/Nein N/V Erhalten
    Mit Umfang Quellcodeverwaltung Ja Ja/Nein N/V Erhalten
    Mit Umfang Quellcodeverwaltung Nein Ja/Nein N/V Entfernt
    Global Quellcodeverwaltung, Anwendungs-Repository oder Store Ja Ja/Nein Ja/Nein Erhalten
    Nein Ja Nein Erhalten (1)
    Nein Nein Ja Erhalten (2)
    Quellcodeverwaltung Nein Nein Nein Entfernt (3)
    Anwendungs-Repository Nein Nein Nein Erhalten
    Hinweis:
    1: Das Datenbankschema und die Daten bleiben zwar erhalten, werden jedoch in die globale Standardanwendung verschoben.
    Hinweis:
    2: Das Datenbankschema und die Daten bleiben zwar erhalten, werden jedoch in die globale Anwendung verschoben, die zuvor Anspruch auf diese Dateien hatte, falls installiert. Andernfalls werden sie in die globale Standardanwendung verschoben.
    Hinweis:
    3: Gilt nur für benutzerdefinierte Spalten mit dem Präfix u_. Von der ServiceNow-Plattform erstellte Spalten werden nicht verworfen.

    Seien Sie beim Wechseln von Verzweigungen in der Quellcodeverwaltung für eine bereichsbezogene Anwendung in einer Produktionsumgebung äußerst vorsichtig. Wenn in der Zielverzweigung Schemaelemente fehlen, die in der aktuellen Verzweigung gefunden wurden, wird das zugehörige Schema verworfen, wodurch alle darin enthaltenen Daten gelöscht werden. (Globale Anwendungen verwerfen kein Schema, wenn Daten vorhanden sind.)

    Genau wie bei Update Sets muss beim Delta-Laden nur eine Teilmenge der inkrementellen Änderungen angewendet werden. Im Gegensatz zu Update Sets stellt das Anwendungspaket die vollständige Anwendung dar. Dateien, die im neuen Paket fehlen, werden gelöscht. Dies kann die Funktionalität ändern und Daten löschen. Update Sets und Anwendungen, die aus dem Anwendungs-Repository oder dem ServiceNow Store aktualisiert wurden, müssen eine explizite DELETE -Nutzlast aufweisen, um eine Datei zu entfernen oder ein Schema zu verwerfen.

    Wenn Anwendungsdateien auf irgendeine Weise dynamisch generiert werden, werden diese Datensätze beim nächsten Installieren/Anwenden von Remote-Änderungen am Betrieb einer Anwendung gelöscht. Sie werden im eingehenden Anwendungspaket als nicht vorhanden betrachtet. Wenn Sie lokale Änderungen per Stash speichern, können die Anwendungsdateien möglicherweise durch einen Stash-Commit wiederhergestellt werden. Wenn jedoch Daten aufgrund der Änderungen verloren gehen, werden die Daten nicht wiederhergestellt.
    Hinweis:
    Das Entfernen oder Unterdrücken von sys_update_xml-Datensätzen verhindert, dass sie durch Delta-Laden entfernt werden. Diese Aktion kann jedoch andere schwerwiegende oder unerwünschte Folgen haben.

    Direkte Änderungen am Repository, insbesondere zum Entfernen von Dateien, können erhebliche Auswirkungen haben, einschließlich Datenverlust und kaskadierende Löschvorgänge. Führen Sie diese Aktion mit Sorgfalt aus.