Sul mio server, ho due utenti, www-data
(che è utilizzato da nginx) e git
. L'utente git
possiede un repository che contiene il codice del mio sito Web e l'utente www-data
possiede un clone di quel repository (che funge da webroot per nginx). Voglio impostare un flusso di lavoro in modo tale che il push del repository di git
causi l'aggiornamento del repository www-data
, aggiornando in tal modo il mio sito web.Flusso di lavoro di distribuzione del sito Web basato su Git
Qual è il modo corretto di impostare gli hook per questi repository (che prende in considerazione anche i privilegi e le autorizzazioni di questi due utenti)?
È davvero una buona idea avere tutto il contenuto pubblico di proprietà dell'account utente che esegue il server? Se il server o il tuo codice sono sfruttati, l'exploit potrebbe modificare i dati persistenti, piuttosto che avere accesso a scarabocchi sulle connessioni del database ... – sarnold
Quindi dovrei rendere il contenuto pubblico di proprietà di 'git' e renderlo leggibile da tutti ? Ciò semplificherebbe anche i problemi di autorizzazione in questa domanda ... – Chetan
_Se_ sei contento di come soluzione, allora sì, ti risparmierebbe il fastidio di trovare un nuovo modo di passare da 'git' a' www-data 'repos. :) Preferisci avere due repository git sul server? Un'altra opzione è quella di impostare la proprietà di gruppo dei file come uno dei gruppi del server e consentire l'accesso in lettura tramite i privilegi di gruppo. – sarnold