Ich habe eine Drupal-Site unter Git-Kontrolle für die Entwicklungsarbeit eingerichtet.
Es ist in einem Master-Bare-GIT-Repo übergeordnet, und da Änderungen an meinen verschiedenen Projektarbeits-Git-Klonen vorgenommen und an den Master zurückgesendet werden, werden die Änderungen durch einen Post-Update-Hook sofort auf eine einzelne Live-Staging-Website (http: /) übertragen /staging.loc.). Nichts besonderes, funktioniert wie erwartet.
Ich habe auch die Seite "@STAGING" mit einem Drush-Alias versehen. Gelegentlich möchte ich meine Änderungen von der Staging-Site auf einen Produktionsserver übertragen.
Zwei relativ einfache Methoden kommen in den Sinn:
(1) Erstellen Sie zu einem Zeitpunkt, an dem die Staging-Site stabil erscheint, die Produktions-Site als Git-Checkout aus dem Master-Repo.
(2) Verwenden Sie drush rsync
+ drush sql-sync
von der Bereitstellungsstelle zur Produktionsstätte.
Beides kann zum Arbeiten gebracht werden. Abgesehen von der Tatsache, dass (2) von Natur aus Drupal-zentrierter / bewusster zu sein scheint - Drush ist schließlich ein Drupal-spezifischer Satz von Werkzeugen -, was sind die relativen Vorzüge der beiden Ansätze?
Gibt es einen bestimmten Grund, warum ich (1) über (2) nachdenken sollte?
In beiden Fällen unterliegt "Everything" mindestens einer Revisionskontrolle ...
"rsync' => array ('exclude-paths' => '.git:.DS_Store:.gitignore:.gitmodules:',"
womit in der .rc-Datei ausgeschlossen werden soll, obwohl ich noch nicht sicher bin, ob ich das sowohl in den Spezifikationen des Quell- als auch des Zielalias oder nur in der einen oder anderen benötige.