Domanda

In una squadra di più sviluppatori, qual è il modo migliore per impostare l'ambiente di sviluppo?

Tutti hanno le proprie basi di dati completa l'installazione di SharePoint, o condividere contenuti, o qualcos'altro?

È stato utile?

Soluzione

Ogni sviluppatore ha bisogno di avere la propria macchina virtuale che condivide nessuno.

Questo è per due scopi. In primo luogo, si può lavorare senza interruzioni e senza interruzioni per il resto della squadra. Non stai preoccuparsi di qualcuno il ripristino del sistema o disattivandolo a voi. In secondo luogo, è possibile distribuire ciò che si desidera o necessità senza influenzare gli altri. Forse si preferisce utilizzare Firefox su IE (io lo faccio) e gli strumenti di cui dispone. Vai avanti e installarli nel vostro VM. Forse ci si imbatte in una parte Web che si desidera provare. Installarlo. La cosa migliore è che si può prendere il proprio un'istantanea personali prima di installare quella parte web e se le cose vanno a sud, indietro solo regresso alla versione precedente.

Una volta che hai fatto tutto il vostro fare in giro e costruito il sistema, allora imballaggio è necessario come una caratteristica e distribuirlo ad un test condiviso / staging ambiente prima di spostarlo sulla produzione.

L'unico requisito è che gli sviluppatori hanno una connessione dal loro VM al vostro sistema di controllo del codice sorgente. Questo è così che possano controllare il codice in / out e se si sta utilizzando l'integrazione continua quindi il server build può prendere una copia del codice e aggiornare la build. Se si lavora in isolamento nel vostro VM, un'occhiata a qualcosa di simile a uno script robocopy o SyncToy o un attrezzo simile per sincronizzare il contenuto del VM su un disco esterno che spingerà il codice nel repository.

Altri suggerimenti

Grande domanda! Sorpreso su come tutto ci sembra di essere d'accordo finora. Si tratta di eseguirne un soggetto che può dividere le persone un bel po ': -)

Ogni sviluppatore dovrebbe avere un'istanza di server virtuale (che si tratti di HyperV o VMWare, localmente ospitato, o condiviso). Database potrebbe essere condivisa, ma ogni sviluppatore ha la propria istanza del database (utilizzando ambienti condivisi in remoto tramite VPN è fattibile, ma spesso rallenta il processo di sviluppo verso il basso uscire molto, e quindi dovrebbe essere evitato se possibile).

Quando coinvolto in diversi progetti, ogni progetto deve avere un set dedicato di server virtuali per ogni sviluppatore.

mi piace anche di avere un "sito POC" locale che posso fare con quello che voglio. Io lo uso per fare piccole prove e roba disturbarvi faccio sul mio server di sviluppo del progetto. Se diventa troppo disordinato, posso sempre caricare una fotografia istantanea.

Per evitare "ha funzionato sulla mia casella di" questioni, non ci dovrebbero essere le linee guida su come sviluppare. Come avere il meno possibile privilegi sulla scatola, mentre in via di sviluppo, e soprattutto avendo solo visitatore di autorizzazioni quando si fa parte normale sviluppo web o simile.

server di sviluppo deve essere creata stessa immagine dorata e stesso (preferibilmente script) configurazione di punto zero come prova dev, test di integrazione, pre prod ei server prod. Questo ridurrà al minimo i problemi di dev prova a causa di problemi di configurazione o software particolari sul server sviluppatori. So anche di team di sviluppo (ad esempio Ben Robb), che elimina tutti i loro server di sviluppo virtuali ogni settimana e stendere una fotografia (automatizzata con PowerShell) del server per mantenere i server di sviluppo il più vicino alla prova dev (e gli altri ambienti) possibile .

spesso trascurato è che, soprattutto per le squadre più grandi è necessario linee guida su come denominazione dovrebbe essere (ad es. Le sottocartelle nella cartella principale (12hive se vi piace) come utilizzare gli spazi dei nomi, ecc), come distribuire (BIN + CAS o GAC, e quando usare cosa), l'utilizzo di utilità comune, come le biblioteche. Non avendo chiarito questo in su prima della messa in causerà te Il dolore lungo la strada e aumenta il rischio di avere piccole isole di codice che dovrebbe / potrebbe sono stati riutilizzati in tutta la squadra (o anche attraverso projecs se le librerie sono buone e sufficientemente generico).

La mia opinione è che tutti dovrebbero avere la propria copia di tutto. condivisione dei database, pool di applicazioni, server solo ti fa fare più errori o fornire incomprensioni. Debug è davvero imbarazzante e improduttivo utilizzando risorse condivise e pensare a database di serrature etc

Una volta che lo sviluppatore (s) sono pronti le caratteristiche sono spostato in un / ambiente di staging di prova, che è condiviso. Gli sviluppatori possono copiare il test / ENV palco al loro ENV di sviluppo, se necessario, per ottenere alcuni dati reali.

Forzare sviluppatori di avere il proprio VM li costringe a scrivere il codice che è distribuibile ai membes squadra nella propria VM ;-) E 'un travestimento astuzia per un grande risultato finale!

un sacco di organizzazioni condividono un server SQL con diversi database del contenuto e hanno singole VM con SharePoint e Visual Studio, ecc per ogni sviluppatore. Spesso questi VM sono effettivamente ospitati su un host di virtualizzazione condiviso piuttosto che su workstation sviluppatori a causa di requisiti di memoria, ecc

La @ del SPDevWiki Costruire un ambiente di sviluppo di SharePoint su questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top