> For the complete documentation index, see [llms.txt](https://docs.flosum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flosum.com/devops/devops-de/code/branch-aktionen/einen-branch-bereitstellen.md).

# Einen Branch bereitstellen

Die Bereitstellung überträgt die Metadatenkomponenten Ihres Branches in eine Ziel-Salesforce-Organisation. Dabei werden die Änderungen tatsächlich angewendet und ist somit der letzte Schritt beim Verschieben von Code/Konfiguration in Salesforce-Umgebungen.

{% hint style="warning" %}

#### Geschrieben für die alte Benutzeroberfläche

Dieser Artikel wurde für die alte Benutzeroberfläche geschrieben. Die Anweisungen sind weiterhin verwendbar, aber die Screenshots sind veraltet. In einigen Fällen wurden die in den Anweisungen genannten Elemente verschoben oder geändert. Wenn Sie ein Element nicht finden können, siehe den [Wo ist es hin](/devops/devops-de/ubergang-zur-neuen-ui-ux/wo-ist-es-hin.md) Artikel.
{% endhint %}

## ![](https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FG5ZbxX918xOHwbAwAJ4n%2FSummary2-Small-Icon.svg?alt=media\&token=da26a67f-ff7f-47b3-8669-06be960dc2d7) Übersicht <a href="#what-is-deploy" id="what-is-deploy"></a>

Das Bereitstellen eines Branches ermöglicht es Ihnen, Metadatenkomponenten von einem Cloud-DevOps-Branch in eine mit DevOps verbundene Salesforce-Organisation zu migrieren.

Der Bereitstellungsprozess stellt sicher, dass:

* Ausgewählte Branch-Komponenten in der Ziel-Organisation angewendet werden
* Optionale destruktive Änderungen können nicht mehr benötigte Metadaten entfernen
* Apex-Tests und Schritte nach der Bereitstellung werden zur Einhaltung von Vorgaben und für Stabilität ausgeführt

Durch das Ausführen einer Bereitstellung nach der Validierung können Sie Änderungen sicher in höhere Umgebungen wie UAT und Produktion übernehmen.

{% hint style="info" %}

#### Validierung empfohlen

Vor der Bereitstellung führen Sie einen Validierungsjob mit dem Branch, den Komponenten und der Organisation aus, die für die Bereitstellung vorgesehen sind. Stellen Sie sicher, dass die Validierung erfolgreich ist, bevor Sie fortfahren. Ausführliche Anweisungen zur Validierung finden Sie im folgenden Artikel.

* [Branch Validate verwenden](/devops/devops-de/code/branch-aktionen/branch-validate-verwenden.md)
  {% endhint %}

{% hint style="info" %}

#### Bewährte Verfahren

* Validieren Sie immer, bevor Sie in UAT oder Produktion bereitstellen.
* Verwenden Sie **Vor** und **Nach** destruktive Änderungen sorgfältig; bestätigen Sie, dass die Elemente sicher gelöscht werden können.
* In Produktionsumgebungen immer auswählen **Alle Tests ausführen** oder **Lokale Tests ausführen**. In niedrigeren Umgebungen können Sie **Keine Tests ausführen** auswählen, um schnellere Bereitstellungen zu ermöglichen.
* Verwenden Sie das Scoping für Profile/Berechtigungssätze, um unnötige Überschreibungen zu vermeiden.
* Prüfen Sie die Protokolle nach der Bereitstellung sorgfältig, um den Erfolg zu bestätigen.
* Nutzen Sie **Rollback** sofort, falls unerwartete Probleme auftreten.
  {% endhint %}

## Branch-Bereitstellungsjob ausführen <a href="#what-is-deploy" id="what-is-deploy"></a>

{% stepper %}
{% step %}

### Branch auswählen und Bereitstellung starten

1. Klicken Sie auf **Code** im linken Seitenleistenmenü.
2. Wählen Sie einen Branch aus der Liste aus.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FowIktcJ0lJan93guER9t%2FDeployingABranch-S01-01.png?alt=media&amp;token=f7616efc-dc31-4e32-8058-2f7442b2a3bc" alt="" width="563"><figcaption></figcaption></figure></div>
3. Klicken Sie auf **Bereitstellen**.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FLiqsWo46IYOcLuCpFV4x%2FDeployingABranch-S01-02.png?alt=media&amp;token=8b7f5be8-0723-4368-a454-8b60dcb0fa68" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Komponenten und Organisation auswählen

1. Klicken Sie auf **Hinzufügen** für jede Branch-Komponente, die in die Bereitstellung aufgenommen werden soll.
2. (Optional) Klicken Sie auf **Alle hinzufügen** um alle Komponenten der Bereitstellung hinzuzufügen.
3. Klicken Sie auf **Weiter**.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F7eUSGY5EsHqT9QrlGovD%2FDeployingABranch-S02-01.png?alt=media&amp;token=617ed586-6a1c-4e0e-b108-eb30fa302bb9" alt="" width="563"><figcaption></figcaption></figure></div>
4. Klicken Sie auf **Auswählen** um die Salesforce-Organisation für die Bereitstellung auszuwählen.
5. Klicken Sie auf **Weiter**.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FAlc0MmheCbhgNKE4O3Vg%2FDeployingABranch-S02-02.png?alt=media&amp;token=3b37fb89-529a-4d64-a8ba-0993c57d9ad8" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Destruktive Änderungen auswählen

Komponenten können markiert werden für **Vor** (vor der Bereitstellung löschen) oder **Nach** (nach der Bereitstellung löschen).

{% hint style="info" %}
Standardmäßig werden alle destruktiven Vor- und Nachänderungen hinzugefügt.
{% endhint %}

1. (Optional) Um eine destruktive Änderung aus der Bereitstellung zu entfernen, klicken Sie auf **Hinzugefügt** um die Komponente abzuwählen.
2. Klicken Sie auf **Weiter**.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FQTU0IdJnsWal0GEGCN7t%2FDeployingABranch-S03-01.png?alt=media&amp;token=7caefd43-6e5d-4610-ae88-d2bfb4c7f84e" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Bereitstellung konfigurieren und ausführen

1. Klicken Sie auf das **Tests ausführen** Dropdown-Menü, um den Umfang der durchzuführenden Apex-Tests auszuwählen. Siehe die folgende Tabelle für eine Beschreibung der einzelnen Optionen.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FGQysHY6ruIWKtmgsZFny%2FDeployingABranch-S04-01.png?alt=media&amp;token=39805d95-dd36-4aa7-b763-1ff557316615" alt="" width="563"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="180.333251953125">Teststufe</th><th>Beschreibung</th></tr></thead><tbody><tr><td><strong>Standard</strong></td><td>Führt nur die im Paket enthaltenen Tests aus.</td></tr><tr><td><strong>Tests nicht ausführen</strong></td><td>Überspringt alle Apex-Tests (nur in Nicht-Produktions-Organisationen zulässig).</td></tr><tr><td><strong>Lokale Tests ausführen</strong></td><td>Führt alle Tests in der Organisation aus, außer denen aus installierten verwalteten Paketen.</td></tr><tr><td><strong>Alle Tests ausführen</strong></td><td>Führt jeden Test in der Organisation aus, einschließlich der Tests verwalteter Pakete.</td></tr><tr><td><strong>Relevante Tests ausführen</strong></td><td>Führt nur die für die ausgewählten Komponenten und ihre Abhängigkeiten relevanten Tests aus. Diese Option verwendet die Funktion „RunRelevantTests“ von Salesforce, um automatisch zu bestimmen, welche Tests ausgeführt werden sollen. Weitere Details finden Sie unter <a href="https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_run_relevant_tests.htm&#x26;release=260&#x26;type=5">Salesforce-Hilfe</a>.</td></tr><tr><td><strong>Angegebene Tests ausführen</strong></td><td>Ermöglicht das Festlegen einzelner Testklassen oder -methoden, die ausgeführt werden sollen.</td></tr></tbody></table>

2. Aktivieren Sie die Umschalter für die Bereitstellungseinstellungen, um die Einstellungen zu aktivieren. Siehe die folgende Tabelle für eine Erläuterung jeder Einstellung.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FFFbssDZs5otsVf3UygrV%2FDeployingABranch-S04-02.png?alt=media&amp;token=c977ae4a-d791-465f-a4ee-c1d122db2bdc" alt="" width="563"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="299.6666259765625">Einstellung</th><th>Beschreibung</th></tr></thead><tbody><tr><td><strong>Profileinstellungen nur für ausgewählte Komponenten bereitstellen</strong></td><td>Nur validieren <strong>Profileeinstellungen</strong> für die Komponenten, die Sie in diesen Validierungsjob aufnehmen wollten.</td></tr><tr><td><strong>Berechtigungssatz-Einstellungen nur für ausgewählte Komponenten bereitstellen</strong></td><td>Nur validieren <strong>Berechtigungssatzeinstellungen</strong> für die Komponenten, die Sie in diesen Validierungsjob aufnehmen wollten.</td></tr><tr><td><strong>Apex-Code nach der Bereitstellung ausführen</strong></td><td>Führt definierte Apex-Skripte aus, nachdem die Bereitstellung abgeschlossen ist. Wenn aktiviert, steht ein Textfeld für die Eingabe von Skripten zur Verfügung.</td></tr><tr><td><strong>Warnungen bei der Bereitstellung ignorieren</strong></td><td>Ermöglicht, dass die Bereitstellung auch bei Warnungen fortgesetzt wird.</td></tr><tr><td><strong>Vlocity-LWC-Aktivierung</strong></td><td>Wenn aktiviert, werden Vlocity Lightning Web Components während der Bereitstellung automatisch aktiviert, kompiliert und ausführbar gemacht.</td></tr></tbody></table>

3. Klicken Sie auf **Ausführen** um den Bereitstellungsjob zu starten.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FJWKAGbdxEem2eTAUKLFw%2FDeployingABranch-S04-03.png?alt=media&amp;token=f5473c0f-1236-4b51-a9f2-5aba6643d1d1" alt="" width="563"><figcaption></figcaption></figure></div>
4. Nachdem der Bereitstellungsjob gestartet wurde, wird er auf der **Aktivitäten** Registerkarte angezeigt.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F2t5B8UnapxQDMhJHOCAc%2FDeployingABranch-S04-04.png?alt=media&amp;token=5e4bbcd3-111d-47ea-ac00-4d79d3d6de25" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Bereitstellung läuft

Während eines **Bereitstellen** Jobs, der **In Bearbeitung**ist, können Sie den Status überwachen und ihn bei Bedarf abbrechen.

1. Klicken Sie auf das **In Bearbeitung** Bereitstellungsjob.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FxwAKoWsgFqvMNpzdvX9P%2FDeployingABranch-S05-01.png?alt=media&amp;token=94441191-4fc7-4e4b-b025-562c584e240e" alt="" width="563"><figcaption></figcaption></figure></div>

**Protokolle aktualisieren**

1. Klicken Sie auf **Aktualisieren** um die Protokollansicht mit dem aktuellen Protokoll zu aktualisieren.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FtigTi8i0cyADr8dzA4JC%2FDeployingABranch-S05-02.png?alt=media&amp;token=51671cde-00be-40e3-91e7-8226ac504bd2" alt="" width="563"><figcaption></figcaption></figure></div>

**Bereitstellung abbrechen**

1. Klicken Sie auf **Abbrechen**.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FgRQtNO4iGhNYpmjn7ei9%2FDeployingABranch-S05-03.png?alt=media&amp;token=d34877fa-20f7-4732-b2cf-24292bef577a" alt="" width="563"><figcaption></figcaption></figure></div>
2. Klicken Sie auf **Abbrechen** im **Bereitstellung abbrechen** Bestätigungsdialog.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F5f9vAiKB3r1OFyBfZkzS%2FDeployingABranch-S05-04.png?alt=media&amp;token=af38967f-6db5-46be-8ac5-d478e4afc07d" alt="" width="375"><figcaption></figcaption></figure></div>
3. Der Bereitstellungsjob wurde gestoppt, und in der Salesforce-Organisation werden keine weiteren Aktionen ausgeführt.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FAG5y8QoNWB97veoy9riv%2FDeployingABranch-S05-05.png?alt=media&amp;token=d5ecf009-3e63-4274-a00b-20dd51401ea0" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

## Bereitstellungsergebnisse <a href="#what-is-deploy" id="what-is-deploy"></a>

{% stepper %}
{% step %}

### Ergebnisse anzeigen

1. Klicken Sie auf das **Aktivitäten** Registerkarte angezeigt.
2. Prüfen Sie, ob der **Bereitstellen** Jobstatus **Abgeschlossen**.

{% hint style="info" %}
Wenn während des Bereitstellungsjobs ein Fehler auftritt, ändert sich sein Status zu **Ausnahme**. Prüfen Sie das Protokoll des Bereitstellungsjobs, um die Fehler zu identifizieren.
{% endhint %}

<table><thead><tr><th width="159.6666259765625">Auftragsstatus</th><th>Beschreibung</th></tr></thead><tbody><tr><td><strong>In Warteschlange</strong></td><td>Auftrag wurde erstellt und wartet auf die Ausführung.</td></tr><tr><td><strong>Wird ausgeführt</strong></td><td>Auftrag wird ausgeführt.</td></tr><tr><td><strong>Abgeschlossen</strong></td><td>Auftrag erfolgreich abgeschlossen.</td></tr><tr><td><strong>Ausnahme</strong></td><td>Auftrag mit Fehlern abgeschlossen.</td></tr></tbody></table>

3. Klicken Sie auf das **Bereitstellen** Job.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FmF98PxJFeGMb0bvk5Zq3%2FDeployingABranch-Results-S01-01.png?alt=media&amp;token=5640c5d7-4797-4066-829c-5f53b7f47540" alt="" width="563"><figcaption></figcaption></figure></div>
4. Die **Bereitstellen** Ergebnisseite listet Jobinformationen und ein detailliertes Protokoll auf.

   <div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F1rZSpL23RCv6D75yO9Uc%2FDeployingABranch-Results-S01-02.png?alt=media&amp;token=10af3e1e-e9c0-46d0-8079-165e821afa3e" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Protokoll prüfen (keine Fehler)

Im Protokoll des Bereitstellungsjobs umfassen die Details:

* Vorhandensein von Destructive-Changes-Objekten.
* Anzahl und Liste der bereitgestellten Komponenten.
* Art und Ergebnisse des Apex-Testlaufs.
* Bereitstellungsschritte abgeschlossen.

<div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FmAcSWTgxb5kUxVfvgUZu%2FDeployingABranch-Results-S02-01.png?alt=media&amp;token=360bb5c6-704f-4ca8-a174-10b7422663f1" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Protokoll prüfen (mit Fehlern)

Wenn bei einem Bereitstellungsjob ein Fehler auftritt, untersuchen Sie die Protokolle, um die Ursache zu identifizieren. Konzentrieren Sie sich auf Einträge mit **\[error]**. Die folgenden Screenshots zeigen einen Bereitstellungsjob, bei dem in einer Salesforce-Org mehrere vom Branch benötigte Komponenten fehlen.

<div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FG1J7gVdeoXGGRbQp9U2N%2FDeployingABranch-Results-S03-01.png?alt=media&amp;token=f4a8c53f-82bb-4e2c-9ec9-fd04891d8204" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FgG1QeRxJzyXlChyku2Ve%2FDeployingABranch-Results-S03-02.png?alt=media&amp;token=eaf8bbfe-4c31-4dc0-acb6-73a6ca631fd9" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://578823411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FzZCAyoz3OP53Ds2iskjS%2FDeployingABranch-Results-S03-03.png?alt=media&amp;token=1b4cc530-e158-4b96-b29c-7fd05208be08" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Bereitstellung zurücksetzen

Auf der Ergebnisseite der Bereitstellung sehen Sie, wenn ein Backup erstellt wurde, eine **Rollback** Schaltfläche. Durch Klicken auf „Rollback“ wird die Organisation mithilfe des Backup-Snapshots in den Zustand vor der Bereitstellung zurückversetzt. Ausführliche Anweisungen zu diesem Vorgang finden Sie im folgenden Artikel.

* [Eine Bereitstellung zurückrollen](/devops/devops-de/code/branch-aktionen/eine-bereitstellung-zuruckrollen.md)
  {% endstep %}
  {% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flosum.com/devops/devops-de/code/branch-aktionen/einen-branch-bereitstellen.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
