Domanda

Sono in procinto di creare un ambiente di sviluppo web completo. Per ora, ci sono due sviluppatori, uno dedicato alla programmazione backend (C #, .NET) e uno dedicato allo sviluppo di frontend (HTML, CSS, XSLT).

Ognuno di essi ha un'installazione di MS Visual Studio 2008 e fonte condivisa tramite Visual Source Safe 2005. Entrambi eseguono il checkout dei file e si sviluppano localmente.

Ho installato un server di prova in cui è il piano che il codice unito e testato dovrebbe finalmente finire, e quel server dovrebbe sempre essere il "corretto"; versione.

Ognuna delle 3 installazioni condivide gli stessi database.

Penso che questa configurazione dovrebbe ridimensionarsi un po ', mentre mi sto preparando per più sviluppatori, ma abbiamo un sacco di problemi con la sincronizzazione dei file e un facile accesso per le modifiche rapide. Spesso abbiamo bisogno di cambiare un po 'di layout e disegni abbastanza rapidamente e finire per copiare manualmente i file sul testing server (non voglio alcun file di codice .NET / C # sul server web), e il sito fallisce: - (

Usiamo un CMS standard per costruire tutto il nostro lavoro di frontend e rallenta davvero le cose se questo è incluso nel sorgente sicuro.

Vorrei che tutto il nostro lavoro di frontend fosse completamente separato dal nostro codice di backend, quindi è facile apportare modifiche.

Eg. vorremmo apportare alcune modifiche al design e distribuirlo rapidamente nel nostro ambiente di produzione, senza pensare al codice .NET.

C'è qualcosa che mi manca o qual è la migliore pratica per impostare un ambiente di sviluppo web?

In attesa di aiuto / esperienza :-)

/ Thomas

È stato utile?

Soluzione

Probabilmente dovresti cercare un sistema di controllo della versione più capace. SVN offre un ottimo supporto per gli strumenti (tra cui AnkhSVN e VisualSVN per l'integrazione VS2008) e i sistemi di controllo della versione distribuita come Mercurial, Git o Bazaar ti offriranno ancora più opzioni e il prezzo di un supporto di strumenti molto più semplice.

Potresti aver bisogno di ramificazioni facili e la gestione delle risorse pertinenti utilizzando il sistema di controllo della versione è molto più semplice se puoi distribuirle facilmente alla produzione (ad esempio, esegui " svn up ").

Altri suggerimenti

Non posso aiutarti con informazioni su come gestire il contenuto CMS, ma ho installato o utilizzato un paio di server di build.

Avendo lavorato con Visual Source Safe in molti progetti e Team Foundation Server in alcuni, se ne posso stare lontano,

Il nostro recente buildserver è composto da script Nant che controllano l'origine da un repository Subversion. La compilazione stessa viene eseguita da MSBuild. Il risultato della build viene quindi copiato a livello di fase e produzione.

Dovrebbe esserci un modo semplice per trasferire le modifiche al database dallo sviluppo allo stadio e alla produzione. Abbiamo uno strumento ( http://www.codeplex.com/ScriptDB ) che script lo sviluppatore- Banca dati. Il risultato viene verificato in Subversion. È facile vedere cosa è cambiato nel registro di Subversion.

  

Ognuna delle 3 installazioni condivide gli stessi database.

Sembra una decisione sbagliata. Se dev1, dev2 e test utilizzano tutti lo stesso database, come può dev1 sperimentare la modifica dello schema senza interferire con dev2 e test (supponendo che il codice per lavorare con lo schema sperimentale non sia ancora registrato).

Inoltre, il DB diventa un singolo punto di errore, quindi se qualcuno elimina / tronca accidentalmente una tabella cruciale, allora tutto il lavoro si interrompe.

Idealmente, ogni ambiente dovrebbe avere il proprio DB. Immagino che se stai usando un DB non libero come Oracle, potresti non essere in grado di offrire a ciascun ambiente il proprio server, ma almeno ogni ambiente dovrebbe avere il suo schema.

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