Tipps zur Produktionsbereitstellung
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. |
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.
| 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 |
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.
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.