Ho fatto un sacco di ricerche su questo argomento ma non ho trovato alcun fine a soluzione end per l'attuazione del "costruire una volta e distribuire molti" utilizzando TFS 2010.TFS 2010 e "costruire una volta, distribuire molti"
Fondamentalmente quello che sto pensando è avere una definizione di build che costruirà una soluzione con più progetti da implementare (applicazione web + progetto di database + servizio web + report), posizionare l'output nella cartella di rilascio e da lì in base alla qualità e alla versione decidere manualmente di distribuire tutti i progetti su vari ambienti (qa, ua, staging, produzione).
So che posso modificare il modello di processo di build per distribuire più progetti subito dopo la compilazione, qualcosa come "Build Main And Deploy to QA", "Build Main and Deploy to UA" ecc., Basato probabilmente sul changeset # o etichette ma questo significa costruire ogni volta. Quello che vorrei è più simile a un dashboard che consentirà al team di distribuzione di distribuire la build esatta che è stata testata in QA, in ambiente UA e dopo aver ottenuto il via libera per la distribuzione in produzione. Ovviamente ciò significa che i file di configurazione dovrebbero essere aggiornati di conseguenza al momento dell'implementazione.
Sto anche considerando di definire alcune definizioni di build che in realtà non generano nulla, invece distribuirà una build esistente (basata sulla versione) in un ambiente specifico, ma a dir poco è un po 'strano.
Va bene, mi sembra ancora strano definire una costruzione che non costruisce, ma finché non sono sola su questa strada, andrò da questa parte. Ancora una domanda, come scegli la costruzione giusta/desiderata? In base alla versione, scegli la cartella corretta nella posizione "build drop"? Grazie per la tua risposta! –
Conserviamo solo le build necessarie per evitare problemi di spazio su disco (quindi qualsiasi QA), quindi passare la cartella di rilascio dalla build "build";) in un argomento nella build per la definizione di distribuzione definita nel modello, che viene passato a un'attività InvokeProcess da eseguire sull'agente/server desiderato. –
Sembra tutto a posto. Grazie ancora per le risposte –