---
sourceDocument: Yokohama Erstellen oder ändern Sie Anwendungen
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama Erstellen oder ändern Sie Anwendungen

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

Tipps zur Produktionsbereitstellung
===================================

Tipps zur Produktionsbereitstellung {#ariaid-title1}
====================================================

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 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 Zielkonflikte zwischen der Installation einer Anwendung aus dem Anwendungs-Repository und der Installation einer Anwendung aus dem Git-Repository mit Quellcodeverwaltung untersucht, und geben Warnhinweise.

Übersicht oder Bereitstellung in der Produktion {#tips-production-deployment__section_nkb_4mv_mqb}
--------------------------------------------------------------------------------------------------

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

Glossar {#tips-production-deployment__section_zbg_2mv_mqb}
----------------------------------------------------------

{#tips-production-deployment__table_ik3_gmv_mqb__entry__2}

|                                                                                                                                                                                 Benennung                                                                                                                                                                                  |                                                                                                                           Definition                                                                                                                           |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Metadaten oder Anwendungsdateien](https://servicenow-prod.fluidtopics.net/dSodkePhRHCveX12U_7L8w "Anwendungsdateien sind Konfigurationsdatensätze, mit denen Entwickler die Anwendungsfunktionalität erweitern können.")                                                                                                                                                                                          | Die sys_metadata-Datensätze, die die Konfiguration in ServiceNow definieren und in einer Anwendung paketisiert sind. Diese Datensätze ändern das Verhalten der Instanz, enthalten jedoch keine Daten wie Incident- oder CMDB-Datensätze. (Siehe Hinweis unten) |
| [Bereichsbezogene Anwendungen](https://servicenow-prod.fluidtopics.net/OmI_bbNsGBOXBVHXbCMs5w "Die Definition von Anwendungsbereichen schützt Anwendungen, indem der Zugriff auf Anwendungsdateien und -daten identifiziert und eingeschränkt wird.")                                                                                                                                                              | ServiceNow-Anwendungen, die einschränken, dass nur Updates und Vorgänge innerhalb der Grenzen des Bereichs zulässig sind. Dieser Mechanismus wird für die meisten Neuentwicklungen verwendet.                                                                  |
| [Globale Anwendungen](https://servicenow-prod.fluidtopics.net/OmI_bbNsGBOXBVHXbCMs5w "Die Definition von Anwendungsbereichen schützt Anwendungen, indem der Zugriff auf Anwendungsdateien und -daten identifiziert und eingeschränkt wird.")                                                                                                                                                                       | Globale Anwendungen werden im globalen Legacy-Bereich entwickelt. In diesem Bereich wird häufig daran gearbeitet, vorhandene ServiceNow-Anwendungen wie IT Service Management (ITSM) anzupassen.                                                               |
| [Anwendungs-Repository](https://servicenow-prod.fluidtopics.net/xGSVvx~BHf1luw7VlDDLoA "Nachdem Sie eine anwenderdefinierte Anwendung entwickelt und getestet haben, können Sie die Anwendung für Unternehmensinstanzen verfügbar machen, indem Sie sie im Anwendungs-Repository ServiceNow veröffentlichen.")                                                                                                     | Anwendungen werden normalerweise zur Bereitstellung in Produktionsinstanzen hier veröffentlicht. Obwohl für das Anwendungs-Repository separate Berechtigungsregeln gelten, funktioniert es ähnlich wie der ServiceNow Store.                                   |
| [ServiceNow Store](https://www.servicenow.com/docs/access?context=t_InstallApplications&version=yokohama&pubname=yokohama-platform-administration&ft:locale=en-US)                                                                                                                                                                                                         | Repository für Anwendungen von Drittparteien (Lieferanten) sowie von ServiceNow veröffentlichte Anwendungen. Die meisten Kunden veröffentlichen nicht im Store, installieren jedoch häufig Anwendungen.                                                        |
| [Update Sets](https://servicenow-prod.fluidtopics.net/_OK3pAoLhhrRnY5SParP6Q "Ein Update Set ist eine Gruppe von Konfigurationsänderungen, die von einer Instanz in eine andere verschoben werden kann. Mit dieser Funktion können Administratoren eine Reihe von Änderungen in einer benannten Gruppe zusammenfassen und sie dann als Einheit für Tests oder zur Bereitstellung auf andere Systeme verschieben.") | 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-Laden](https://servicenow-prod.fluidtopics.net/G71w1EEtNRqXn8DzFL_vZQ "„Delta Loading“ ist eine optimierte Methode zum Laden einer Anwendung aus einem Git-Repository.")                                                                                                                                                                                                                                    | Die effizienteste Lademethode, da sie nur aus der Quellcodeverwaltung und nicht aus früheren Deinstallations-/Neuinstallationsmethoden wechselt.                                                                                                               |
| Schema                                                                                                                                                                                                                                                                                                                                                                     | Definition der Tabellen und Spalten in den Tabellen.                                                                                                                                                                                                           |
| [Rollback](https://www.servicenow.com/docs/access?context=rollback-scoped-applications&version=yokohama&pubname=yokohama-platform-administration&ft:locale=en-US)                                                                                                                                                                                                          | Administratoren können die letzte Installation einer ausgewählten Anwendung rückgängig machen. Bei einem Rollback werden alle Code-, Tabellen- und Dateiaktualisierungen aus der Erstinstallation entfernt.                                                    |
[ ]

{#tips-production-deployment__table_ik3_gmv_mqb}  
Hinweis:  
Die Tabelle „sys_metadata" ist die übergeordnete Tabelle aller Anwendungsdateien in der Plattform ServiceNow, die das Tabellenvererbungsmodell verwenden. Sie können Zusammenfassungsinformationen für Metadaten anzeigen, indem Sie die übergeordnete Tabelle(n) aufrufen, die direkt oder indirekt erweitert wird, wie im Feld Tabelle erweitern (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 unten im Formular auswählen. Das Schema ist groß, und das Rendern dauert einige Zeit.

Installationsort {#tips-production-deployment__section_vtz_tmv_mqb}
-------------------------------------------------------------------

Wenn Sie die Quellcodeverwaltung installieren, erleichtert sie die laufende Entwicklung einer benutzerdefinierten Anwendung. Daher wird die Anwendung in der Tabelle „Anwenderdefinierte Anwendung" \[sys_app\] als Anwendung „In Entwicklung" und nicht als Anwendung „Installiert" in der Tabelle „Store-Anwendung" \[sys_store_app\] verwaltet. Beide Tabellen sind Erweiterungen von „sys_scope" und bieten daher dieselben Schutzmaßnahmen und Einschränkungen wie der Bereich. Wenn Sie also nach der Installation einer bereitgestellten Quellcodeverwaltungsanwendung suchen, konsultieren Sie die Tabelle „Systemanwendung" \[sys_app\] und den Abschnitt „In Entwicklung" auf 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 zu irgendeinem Zeitpunkt ändert, muss der Datensatz „sys_app" zuerst in einen Datensatz „sys_store_app" konvertiert werden. Wenden Sie sich an den Support von ServiceNow, um Hilfe bei diesem Vorgang zu erhalten.

Delta-Laden {#tips-production-deployment__section_d1r_1nv_mqb}
--------------------------------------------------------------

Vor dem Paris-Release ServiceNow wurde bei Auslösung bei der Installation einer Anwendung aus der Quellcodeverwaltung immer die gesamte Anwendung entfernt und neu installiert, einschließlich der Funktion Remote-Changes anwenden. Mit [Delta-Laden](https://servicenow-prod.fluidtopics.net/G71w1EEtNRqXn8DzFL_vZQ "„Delta Loading“ ist eine optimierte Methode zum Laden einer Anwendung aus einem Git-Repository.")werden jetzt nur die Changes aktualisiert, was den Prozess erheblich vereinfacht.  
Beim Delta-Ladeprozess werden die Changes inkrementell aus der Quellcodeverwaltung geladen. Wenn Sie Remote-Changes anwenden, löschen Sie vorhandene Tabellen oder Spalten nur, wenn sie aus dem Repository entfernt wurden. 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 Delta-Loading.  
Nachfolgend finden Sie eine Tabelle der verschiedenen erwarteten Ergebnisse in einer Instanz mit Delta-Laden. {#tips-production-deployment__table_dkm_tc1_pqb__entry__6}

| Anwendungstyp |                  Installationsquelle                  | Schema im Paket vorhanden | Schema enthält Daten | Anspruch durch 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                                 |
| Global        | Quellcodeverwaltung, Anwendungs-Repository oder Store | Nein                      | Ja                   | Nein                               | Erhalten (1)                             |
| Global        | Quellcodeverwaltung, Anwendungs-Repository oder Store | Nein                      | Nein                 | Ja                                 | Erhalten (2)                             |
| Global        | Quellcodeverwaltung                                   | Nein                      | Nein                 | Nein                               | Entfernt (3)                             |
| Global        | Anwendungs-Repository                                 | Nein                      | Nein                 | Nein                               | Erhalten                                 |
[ ]

{#tips-production-deployment__table_dkm_tc1_pqb}  
Hinweis:  
* Das Datenbankschema und die Daten bleiben zwar erhalten, werden jedoch in die globale Standardanwendung verschoben.
* 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.
* Gilt nur für anwenderdefinierte Spalten mit dem Präfix u_. Von der ServiceNow-Plattform erstellte Spalten werden nicht gelöscht.
{#tips-production-deployment__ul_y22_1nr_hcc}

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

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-Sätze und Anwendungen, die aus dem App-Repository oder ServiceNow dem Store aktualisiert werden, müssen eine explizite Nutzlast des Typs LÖSCHEN aufweisen, um eine Datei zu entfernen oder ein Schema zu löschen.  
Wenn Anwendungsdateien in irgendeiner Weise dynamisch generiert werden, werden diese Datensätze bei der nächsten Remoteinstallation/-anwendung gelöscht, die den Betrieb einer Anwendung ändert. Sie werden im eingehenden Anwendungspaket als nicht vorhanden betrachtet. Wenn Sie Stash für lokale Changes ausführen, können die Anwendungsdateien möglicherweise durch einen Stash-Commit wiederhergestellt werden. Wenn jedoch Daten aufgrund der Changes verloren gehen, werden die Daten nicht wiederhergestellt.  
Hinweis:  
Durch das Entfernen oder Unterdrücken von sys_update_xml-Datensätzen wird verhindert, dass sie durch Delta-Laden entfernt werden. Diese Aktion kann jedoch auch andere schwerwiegende oder unerwünschte Ergebnisse haben.

Direkte Änderungen am Repository können, insbesondere zum Entfernen von Dateien, erhebliche Auswirkungen haben, einschließlich Datenverlust und kaskadierenden Löschvorgängen. Führen Sie diese Aktion mit Sorgfalt aus.
* **[Wahlpflicht- und Kundenaktualisierungen verfassen](https://servicenow-prod.fluidtopics.net/J7~VMs4vk5g3GfzEkeFXwg)**   
  Wenn Sie eine Anwendung aus dem App-Repository oder dem Store ServiceNow® installieren, können Sie eine Reihe von Eigenschaften festlegen, um das Verhalten der Lösch- und Auswahlverarbeitung zu definieren. Diese Art der Auswahl wird als „autorenspezifische" Funktion bezeichnet.
* **[Führen Sie ein Rollback durch, kehren Sie zurück, und deinstallieren Sie es](https://servicenow-prod.fluidtopics.net/qhOHsFrWbe8pvTrPRdOrbg)**   
  Die Anwendungsinstallation aus dem Anwendungs-Repository wird für ein Rollback aufgezeichnet. Als Administrator können Sie also die letzte Installation einer ausgewählten Anwendung zurücksetzen. Wenn Sie eine Anwendung zurücksetzen, entfernen Sie alle Code-, Tabellen- und Dateiaktualisierungen, die bei der Erstinstallation installiert wurden.
* **[Upgrade-Verlauf](https://servicenow-prod.fluidtopics.net/GqBOGYks8O_dyfavpDk6bA)**   
  Upgradeverlaufsdatensätze und Verlaufszeilendispositionen werden als Teil der Quellcodeverwaltungsinstallation generiert und stellen einen Datensatz der Installation bereit.
* **[Überlegungen zur Entwicklung](https://servicenow-prod.fluidtopics.net/QliSx7uesWS7h336Z7T3xA)**   
  Berücksichtigen Sie bei der Entwicklung von Code einige der folgenden Vorschläge, um eine möglichst effiziente Leistung zu erzielen.

