# Wie kann ich Shopware per git deployen (staging/live)?

**URL:** <https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220>\
**Category:** Sonstiges\
**Created:** [8. Juni 2017 um 13:36 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220 "2017-06-08T13:36:39Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![siegfried\_zach](https://avatars.discourse-cdn.com/v4/letter/s/e480ec/32.png) [@siegfried\_zach](https://forum.shopware.com/u/siegfried_zach)\
**Post date:** [8. Juni 2017 um 13:36 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/1 "2017-06-08T13:36:39Z")

</div>

Hallo,

Ich bin neu bei Shopware - hoffentlich also keine DAU Frage.

- Ich möchte den Quellcode komplett in git haben, somit arbeiten im Team einfacher, jeder arbeitet lokal
- Die&nbsp;Entwickler entwickeln&nbsp;lokal, testen&nbsp;commiten, alles läuft in develop branch zusammen
- Staging Server
  - Eigener Server vollkommen getrennt von produktiv
  - Die Docroot ist ein GIT-Klone - das update also nur ein “git pull” des develop branches am Server

- Nach Testen am Staging Server --\> develop wird nach master gemerged
- LIVE Server
  - Docroot ist ein git Klone des master branches
  - Das Update nur ein “git pull” des master branches

Meine Fragen:

- Wie geht das am besten mit Plugins?
  - Eigene oder Fremde
  - Was muss ich zusätzlich beachten?
  - Muss ich das Plugin dann trotzdem auf allen Servern (staging, live) nochmal installieren/aktivieren?
  - Wie kommen Änderungen, die die Plugins am DB-Schema oder den DB-Daten machen auf alle Server?

- Gibt es Beispiele? Hat das schon mal jemand so gemacht? Was setze ich am besten auf die .gitignore Liste? Es wäre dann wohl alles (auch vendor Verzeichnis) im Git
- Das themes Verzeichnis, denke ich, wäre dann kein Problem, da es über den git pull auf alle Systeme kommt.
- Wäre auch ein Shopware Versionsupdate so machbar (also lokal updaten --\> git commit --\> git pull auf staging/live)?
- Das Problem mit der “Domain”/Lizenz würde ich jetzt mal aussen vor lassen, muss man wohl in diesem Fall mit Workarounds lösen.

&nbsp;

Vielleicht kann mir jemand weiterhelfen.

&nbsp;

Danke & schöne Grüße

Siegi

&nbsp;

---

<div class="post-metadata">

**Author:** ![siegfried\_zach](https://avatars.discourse-cdn.com/v4/letter/s/e480ec/32.png) [@siegfried\_zach](https://forum.shopware.com/u/siegfried_zach)\
**Post date:** [8. Juni 2017 um 14:04 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/2 "2017-06-08T14:04:44Z")

</div>

So jetzt habe ich bei den Fragen noch was vergessen:

\* Wie könnte man Shop Konfigurationen (z.B. Freitextfelder) über verschiedene Systeme hinweg syncen?

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [15. Juni 2017 um 06:38 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/3 "2017-06-15T06:38:14Z")

</div>

Ich würde in Git nur Sachen packen die Du entwickelst. Also Dein Theme und ggf. Deine Plugins.

Fremd-Plugins, Core etc. nicht. Diese Sachen kommen Original und sollten auch so bleiben.

Die Shopkinfiguration musst Du auf der Datenbank-Ebene syncen.

---

<div class="post-metadata">

**Author:** ![siegfried\_zach](https://avatars.discourse-cdn.com/v4/letter/s/e480ec/32.png) [@siegfried\_zach](https://forum.shopware.com/u/siegfried_zach)\
**Post date:** [19. Juni 2017 um 07:28 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/4 "2017-06-19T07:28:33Z")

</div>

Danke für die Info.

Aber wie sieht das Deployment über verschiedene „Server“ hinweg aus? Gibt es da Best-Practice Beispiele/Wege?

(Also lokaler Server zum Entwickeln, zumindest ein Staging/Testserver für Integration und Testing, ein Live-Server)

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [19. Juni 2017 um 07:33 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/5 "2017-06-19T07:33:42Z")

</div>

> [@siegfried\_zach schrieb:](https://forum.shopware.com/profile/26577/siegfried_zach "siegfried\_zach")
> 
> Danke für die Info.
> 
> Aber wie sieht das Deployment über verschiedene „Server“ hinweg aus? Gibt es da Best-Practice Beispiele/Wege?
> 
> (Also lokaler Server zum Entwickeln, zumindest ein Staging/Testserver für Integration und Testing, ein Live-Server)

Ich zumindest rsynce (mit Löschen)&nbsp;Themes&nbsp;oder Plugins dev–\>stage und dann dev–\>prod&nbsp;

---

<div class="post-metadata">

**Author:** ![simkli](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simkli/32/13124_2.png) [@simkli](https://forum.shopware.com/u/simkli)\
**Post date:** [19. Juni 2017 um 08:04 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/6 "2017-06-19T08:04:01Z")

</div>

> [@NextMike schrieb:](https://forum.shopware.com/profile/19433/NextMike "NextMike")
> 
> Ich würde in Git nur Sachen packen die Du entwickelst. Also Dein Theme und ggf. Deine Plugins.
> 
> Fremd-Plugins, Core etc. nicht. Diese Sachen kommen Original und sollten auch so bleiben.
> 
> Die Shopkinfiguration musst Du auf der Datenbank-Ebene syncen.

+1 . Löse ich aktuell auch so. Mit dem neuen Plugin-System wird es evtl. etwas „eklig“, da du Drittanbieterplugins immer auf die gitignore setzen musst.&nbsp;&nbsp;Hier wird es mal Zeit, dass man Eigenentwicklungen wieder woanders ablegen kann. (z.B. über die config.php mehrere Plugins-Dirs angeben, welche der Plugin Manager einbezieht.)

Die komplette Shopware Installation zu versionieren halte ich für nicht besonders praktikabel. Das bläht die Repo auf, der Kunde kann nicht einfach den Plugin-Manager benutzen ohne, dass es zu Konfilkten kommt, etc. pp.)

---

<div class="post-metadata">

**Author:** ![freetree](https://avatars.discourse-cdn.com/v4/letter/f/bb73d2/32.png) [@freetree](https://forum.shopware.com/u/freetree)\
**Post date:** [25. September 2017 um 18:25 UTC](https://forum.shopware.com/t/wie-kann-ich-shopware-per-git-deployen-staging-live/46220/7 "2017-09-25T18:25:49Z")

</div>

> [@siegfried\_zach schrieb:](https://forum.shopware.com/profile/26577/siegfried_zach "siegfried\_zach")
> 
> Hallo,
> 
> Ich bin neu bei Shopware - hoffentlich also keine DAU Frage.
> 
> - Ich möchte den Quellcode komplett in git haben, somit arbeiten im Team einfacher, jeder arbeitet lokal
> - Die&nbsp;Entwickler entwickeln&nbsp;lokal, testen&nbsp;commiten, alles läuft in develop branch zusammen
> - Staging Server
> - Eigener Server vollkommen getrennt von produktiv
> - Die Docroot ist ein GIT-Klone - das update also nur ein „git pull“ des develop branches am Server
> - Nach Testen am Staging Server –\> develop wird nach master gemerged
> - LIVE Server
> - Docroot ist ein git Klone des master branches
> - Das Update nur ein „git pull“ des master branches
> 
> Meine Fragen:
> 
> - Wie geht das am besten mit Plugins?
> - Eigene oder Fremde
> - Was muss ich zusätzlich beachten?
> - Muss ich das Plugin dann trotzdem auf allen Servern (staging, live) nochmal installieren/aktivieren?
> - Wie kommen Änderungen, die die Plugins am DB-Schema oder den DB-Daten machen auf alle Server?
> - Gibt es Beispiele? Hat das schon mal jemand so gemacht? Was setze ich am besten auf die .gitignore Liste? Es wäre dann wohl alles (auch vendor Verzeichnis) im Git
> - Das themes Verzeichnis, denke ich, wäre dann kein Problem, da es über den git pull auf alle Systeme kommt.
> - Wäre auch ein Shopware Versionsupdate so machbar (also lokal updaten –\> git commit –\> git pull auf staging/live)?
> - Das Problem mit der „Domain“/Lizenz würde ich jetzt mal aussen vor lassen, muss man wohl in diesem Fall mit Workarounds lösen.
> 
> &nbsp;
> 
> Vielleicht kann mir jemand weiterhelfen.
> 
> &nbsp;
> 
> Danke & schöne Grüße
> 
> Siegi
> 
> &nbsp;

Wir bauen immer ein komplettes Release mit allen Dateien. Nur die Ordner Media & Files haben in einem Shared Ordner gesymlinked&nbsp;und sind auch nicht im Repository. Nach dem das Release fertig ist setzen wir den Symlink von var/www/shop/web –\> releasealt auf&nbsp;var/www/shop/web –\> releaseneu. Rollback dann einfach symlink ändern.

Mit Shopware Deployment haben wir in den letzten Monaten sehr viel probiert. Wirkliche Best Practice Lösungen gibt es nicht. Schau mal hier:&nbsp;[Deployment von lokal PC nach Live-Server: Wie ist der Workflow? - #2 von Misengo - Installation/Einstieg - Shopware Community Forum](https://forum.shopware.com/discussion/comment/202360)?
