Ho creato un sito Drupal sotto controllo git per il lavoro di sviluppo.
È genitore in un repository GIT master e nudo e, man mano che vengono apportate modifiche nei miei vari cloni git di lavoro di progetto, e rispedito al master, un hook post-aggiornamento invia immediatamente le modifiche a un singolo sito Web di staging live (http: / /staging.loc.). Niente di speciale, funziona come previsto.
Ho anche il drush-alias del sito "@STAGING". Occasionalmente, voglio promuovere le mie modifiche dal sito di gestione temporanea a un server di produzione.
Mi vengono in mente due metodi relativamente semplici:
(1) Nel momento in cui il sito di staging appare stabile, creare il sito di produzione come checkout git dal repository principale,
(2) utilizzare drush rsync
+ drush sql-sync
dal sito di gestione temporanea al sito di produzione.
Entrambi possono essere fatti funzionare. A parte il fatto che (2) sembra più Drupal-centrico / consapevole per natura - la droga è, dopo tutto, un insieme di strumenti specifici di Drupal - quali sono i meriti relativi dei due approcci?
C'è qualche motivo particolare che dovrei considerare (1) rispetto a (2)?
In entrambi i casi "Tutto" è sotto almeno un'istanza del controllo di revisione ...
"rsync' => array ('exclude-paths' => '.git:.DS_Store:.gitignore:.gitmodules:',"
nel file .rc, anche se non sono ancora sicuro di averne bisogno nelle specifiche dell'alias di origine e di destinazione o solo nell'una o nell'altra.