Domanda

Ho lavorato su diversi progetti PHP e ho sempre problemi con l'organizzazione del mio lavoro. Dove sviluppi la tua applicazione - su localhost, server remoto o forse uno di produzione (!)? Quando lavoro sul mio localhost dopo aver effettuato un percorso importante, invio nuovi file tramite ftp, ma a volte capita di dimenticare un file ed è solo stancante sfogliare più directory per copiare i file modificati. Quali migliori pratiche proponi?

È stato utile?

Soluzione

Ecco come gestiamo il nostro sito commerciale:

  1. Sviluppa in una sand box locale
  2. Check-in su SVN
  3. Build / test automatizzati da SVN a interno server di sviluppo
  4. Implementazione tramite script utilizzando rsync per la gestione temporanea server per QA / UAT
  5. Implementazione tramite script sulla produzione server.

I server di gestione temporanea e di produzione sono entrambi ospitati dall'ISP e sono hardware e versione abbinati ed eseguono RHEL, il server Dev interno è abbinato alla versione CentOS.

In questo modo, quando il codice colpisce i server di produzione non dovrebbero esserci brutte sorprese poiché anche gli script di distribuzione vengono controllati nella fase 4.

Altri suggerimenti

Google App Engine ha un apposito strumento che carica automaticamente i file dell'ambiente di produzione che vengono modificati ; non so se c'è qualcosa di simile per PHP. Quindi, fare uno script dev2prod (uno script che lo fa automaticamente) dovrebbe essere una buona soluzione.

Per eseguire la gestione dei file di origine locale, tutti possono suggerire di utilizzare un sistema di controllo del codice sorgente .

Sto sviluppando su una macchina di sviluppo che ha un ambiente identico a quello di produzione - che impedisce comportamenti diversi a causa di versioni o configurazioni diverse. dopo aver finito, sposto tutti i file sul server di produzione.

Winmerge è uno strumento Windows piacevole e gratuito per diffondere i tuoi file tra macchine di sviluppo e produzione.

Sviluppa nel tuo computer locale con la stessa configurazione esatta del tuo ambiente di sviluppo (ovvero mod apache, estensioni php e così via), usando un sistema di controllo della versione (preferisco SVN) per tenere traccia dei file modificati e cosa no.

Quindi è possibile scrivere uno script nella propria produzione o testare l'ambiente per copiare / aggiornare i file dal repository sul percorso del server Web.

Probabilmente mi viene smentito per il reindirizzamento di un vecchio post, ma ecco come lo faccio usando strumenti gratuiti:

Uso Netbeans, Git, bitbucket, albero dei sorgenti, gitflow e FTPloy.

Bitbucket.com: registrati per un account gratuito. SourceTree: privo di bitbucket. Ottimo strumento per la gestione dei repository git. Tutti gli commit, i fusioni e i pull possono essere eseguiti qui. È possibile tenere traccia dei problemi in bitbucket.

In sourcetree, prendi il ramo master e fai clic su " git flow " - google gitflow - è un fantastico flusso di lavoro di funzionalità, hotfix, sviluppo, filiali di rilascio e sourcetree che aiuta ad automatizzare il processo.

FTPloy.com automatizza la distribuzione del tuo ramo principale. Free è un repo / server. Ma vale la pena l'aggiornamento se si desidera trasferire il ramo di sviluppo su una sandbox del server per il test.

Spero che questo aiuti qualcuno a cercare sul web!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top