TFS - siti Web basati su IIS - come gestire la ramificazione

5

Sto solo cercando alcuni consigli / buone pratiche per questa situazione:

Abbiamo una soluzione con un paio di siti web in esso (uno è un progetto di sito web, l'altro è un progetto di applicazione web). Abbiamo entrambi questi siti impostati per utilizzare il nostro IIS installato (v7), in quanto abbiamo altri progetti che abbiamo bisogno di accedere a questi tramite localhost durante il debug.

Siamo appena passati a TFS (da GIT) - quando cambiamo ramo, devo andare a "reindirizzare" le mie directory virtuali sotto IIS per puntare al nuovo ramo, il che è un po 'fastidioso. Qualcuno ha qualche consiglio / guida su quale sia il modo migliore per avvicinarsi a questo? Vorrei sottolineare che non penso che il passaggio all'utilizzo di Cassini soddisferà la nostra situazione.

    
posta Paddy 05.05.2011 - 10:43
fonte

5 risposte

3

IIS Express potrebbe essere un'opzione. Questo articolo riguarda IIS Express con SSL, ma può anche darti un'idea su come configurare il tuo problema.

Remember that IIS Express is really IIS. It's just "local personal not-a-service" IIS. That means that IISExpress puts its config files in C:\Users\YOU\Documents\IISExpress\config rather than in some machine-wide location.

My project is called "MvcApplication18" so I can open up my ApplicationHost.config and look for "MvcApplication18." You can too. There's my site, right there, in IISExpress's applicationHost.config:

<site name="MvcApplication18" id="39">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="c:\users\scottha\documents\visual studio 2010\Projects\MvcApplication18\MvcApplication18" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:15408:localhost" />
    </bindings>
</site>

Un'altra opzione potrebbe essere quella di creare script per il repointing delle directory virtuali e chiamarlo dove si ritiene appropriato (passo pre compilato, script separato) MSBuild le estensioni potrebbero iniziare in quella direzione.

Spero che questo aiuti.

    
risposta data 05.05.2011 - 10:53
fonte
3

Risolvo ciò avendo definito più applicazioni Web in IIS e poi salvando il nuovo URL nel progetto ramificato (poiché la maggior parte della configurazione di IIS si trova in web.config c'è poco altro da fare).

Questo ha anche il vantaggio di essere in grado di operare con entrambi in parallelo (ad esempio confrontando l'ultimo checkpoint / release all'attuale fianco a fianco).

    
risposta data 05.05.2011 - 11:10
fonte
1

Uno dei miei colleghi ha avuto la brillante idea di specificare il percorso in IIS usando una variabile di ambiente - avremo quindi un semplice script da eseguire quando cambieremo rami per aggiornare quella variabile e "tada" tutti i nostri siti puntano verso destra posto ...

    
risposta data 05.05.2011 - 14:49
fonte
0

In realtà il passaggio a Cassini o IIS Express è una soluzione. IIS non ha alcuna conoscenza su TFS o rami, pertanto è necessario riconfigurarlo ogni volta che si esegue lo switch (manualmente o mediante l'esecuzione manuale di alcuni script).

    
risposta data 05.05.2011 - 10:54
fonte
0

Un metodo potrebbe essere quello di utilizzare la commutazione delle diramazioni. Invece di mappare ogni ramo in una cartella separata, rimappare invece il secondo ramo nella stessa cartella del precedente quando si passa. Un buon blog post su questo approccio è di Richard Banks all'indirizzo link

    
risposta data 06.05.2011 - 04:56
fonte

Leggi altre domande sui tag