produzione Git / staging server di flusso di lavoro
-
27-09-2019 - |
Domanda
Al momento il mio sito web (server di produzione) hanno già un sacco di codice in esso. E ora voglio iniziare a utilizzare Git per i miei progetti e la configurazione di un server di gestione temporanea per la mia squadra. Qualcuno mi può dare qualche consiglio?
Ecco l'immagine nella mia mente:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
La mia domanda è, come devo cominciare?
Ecco alcuni passi nella mia mente:
- fare un
git init
nel server di produzione (è sicuro?) -
clone
repo dalla produzione alla messa in scena server - sviluppatori
clone
il repo dalla messa in scena sul computer locale - file
push
al server di gestione temporanea dopo finitura mutevoli - quando messa in scena è pronta,
push
tutto per la produzione
Fa questo flusso di lavoro ha un senso, o ci sono un modo migliore per farlo?
Che cosa succede se solo voglio cambiare un file?
origine fa / master ha nulla a che fare con esso in questo processo ?? Chi è l'origine? sto andando a finire con l'avere origini multiple ??
Inoltre, quando uno sviluppatore dovrebbe utilizzo branch
in questo caso?
Soluzione
E 'meglio usare ramo principale solo per la produzione e ramo di sviluppo per la stadiazione. Ogni sviluppatore dovrebbe creare filiale locale per aggiungere nuove funzionalità e poi fondersi con ramo di sviluppo. Se siete nuovi a un git, provare ad usare - http://github.com/nvie/gitflow C'è anche buona immagine che descrive git branching modello - http://nvie.com / messaggi / un-successo-git-ramificazione-modello /
Altri suggerimenti
Il tuo suggerimento sembra ok, ma non vorrei lasciare che gli sviluppatori di spingere direttamente al server di gestione temporanea. Invece, un integratore dovrebbe esaminare attentamente i rami e le inserirà il ramo principale (o ramo di sviluppo se si utilizza il modello di flusso git come suggerito dal bug.) * La stessa persona avrebbe spinto al server di gestione temporanea.
1. fare un init git nel server di produzione (Questa funzione è sicura?)
Si è sicuro, ma è ovviamente necessario impostare le autorizzazioni restrittive molto su questo repo.
Io probabilmente iniziare con curl
ing l'intero sito web su un disco locale, se non lo avete già.
2. clone il repo dalla produzione alla messa in scena server
Si dovrebbe probabilmente avere una "centrale" repo separare sia dalla produzione e server di staging. Che si può essere clonato e spinto a seconda delle necessità.
3. gli sviluppatori di clonare il repo dalla messa in scena sul computer locale
4. file spingere al server di gestione temporanea dopo rivestimento che cambiano
5. quando messa in scena è pronta, spingere tutto per la produzione
Sostituire "messa in scena" con la "centrale" e penso che stia bene, ma un problema più grande è come si lavorerà con rami e la fusione, come sottolinea Bug.