Impostazione e sincronizzazione di una versione sviluppatore (locale) e una versione pubblica di un sito Web

5

Qual è il modo migliore e più efficace per configurare due versioni dello stesso sito web?

Voglio una versione online e aperta a tutti, ma voglio anche una versione per sviluppatori in cui posso sviluppare e testare nuove cose invece di farlo contro il ftp.

Attualmente ho l'installazione di MAMP sulla mia macchina in sviluppo e uso Git per il controllo della versione.

In MAMP / XAMPP il percorso per i file è localhost/example/ e sul ftp è la struttura del file dell'host (Dreamhost in questo caso). Qualcosa come /home/username/example.com/ . Ciò si traduce in avere più versioni di più o meno lo stesso file. Non è così efficiente, ma non riesco a trovare una buona soluzione per questo. Ce ne sono?

Sarebbe perfetto se volessi aggiungere una nuova funzionalità al sito web che potrei fare in MAMP e quando eseguo il commit delle modifiche con Git carica le modifiche sul ftp.

    
posta Oskar Persson 12.04.2013 - 20:54
fonte

2 risposte

2

quello che faccio con XAMP è che ho sul mio locale una voce chiamata a.com che punta al mio 127.0.0.1

quindi faccio riferimento alle pagine come a.com /....

Conserva gli stessi file in entrambi i posti. avere alcuni personalizzati includono che controlla se la pagina corrente ha a.com e rende i collegamenti di root in modo diverso. Qualcosa come:

if( $_SERVER['SERVER_NAME'] == 'a.com'){
    $filePath = 'images/'
    $url = "http://a.com";
    $env = 'd';
}else{
    $imgPath = '/home/sites/example/images/'
    $path2 = "http://example.com";
    $env = 'p';
}

    //now this can be an include file in other files
    //in the other files just use the previously initialized variables when making paths and URLs. This keeps the code in the main files simple and the details in one file
    
risposta data 12.04.2013 - 22:12
fonte
6

Dimentica FTP.

  • Imposta un repository sul server
  • Aggiungi come remoto al tuo ambiente di sviluppo.
  • Clona il repository bare nello spazio web, adatta i file di configurazione.
  • Aggiungi un hook post-commit sul repository nudo, avviando uno script di shell nello spazio web che preleva dal repository nudo.

Con questo, devi solo trasferire le modifiche sul telecomando, ed è automaticamente disegnato nello spazio web.

Qualsiasi costante specifica dell'ambiente non appartiene al codice , ma nei file di configurazione, che vengono aggiunti a .gitignore .

    
risposta data 13.04.2013 - 00:27
fonte

Leggi altre domande sui tag