TFS - sites baseados no IIS - como lidar com ramificação

5

Estou apenas procurando alguns conselhos / práticas recomendadas para esta situação:

Temos uma solução com alguns sites (um é um projeto de site, o outro é um projeto de aplicativo da web). Nós temos esses dois sites configurados para usar nosso IIS instalado (v7), já que temos outros projetos que precisamos acessá-los via localhost enquanto depuramos.

Acabamos de mudar para o TFS (do GIT) - quando mudamos de ramificação, eu tenho que ir e 'reenviar' meus diretórios virtuais no IIS para apontar para o novo branch, o que é um pouco incômodo. Alguém tem algum conselho / orientação sobre qual é a melhor maneira de abordar isso? Gostaria de observar que não acho que mudar para usar a Cassini se adapte à nossa situação.

    
por Paddy 05.05.2011 / 10:43
fonte

5 respostas

3

O IIS Express pode ser uma opção. Este artigo é sobre o IIS Express com SSL, mas também pode fornecer algumas ideias sobre como configurar o 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>

Uma outra opção pode ser roteirizar o reposicionamento dos diretórios virtuais e chamá-lo onde achar apropriado (pré-compilação, script separado) MSBuild extensões podem ajudar você nessa direção.

Espero que isso ajude.

    
por 05.05.2011 / 10:53
fonte
3

Eu resolvo isso tendo vários aplicativos da Web definidos no IIS e, em seguida, salvo o novo URL no projeto ramificado (como a maioria das configurações do IIS está no web.config , não há muito o que fazer).

Isso também tem a vantagem de poder operar com ambos em paralelo (por exemplo, comparando o último ponto de verificação / liberação ao lado atual).

    
por 05.05.2011 / 11:10
fonte
1

Um dos meus colegas teve a brilhante idéia de especificar o caminho no IIS usando uma variável de ambiente - então temos um script simples para executar quando trocamos filiais para atualizar essa variável e 'tada' todos os nossos sites estão apontando para a direita lugar ...

    
por 05.05.2011 / 14:49
fonte
0

De fato, mudar para o Cassini ou o IIS Express é uma solução. O IIS não tem conhecimento sobre o TFS ou as ramificações, portanto, você deve reconfigurá-lo sempre que fizer a mudança (manualmente ou pela execução manual de algum script).

    
por 05.05.2011 / 10:54
fonte
0

Um método pode ser usar a alternância de filiais no local. Em vez de mapear cada ramificação para uma pasta separada, em vez disso, reposicione sua segunda ramificação na mesma pasta que a anterior ao alternar. Um bom post sobre esta abordagem é de Richard Banks em link

    
por 06.05.2011 / 04:56
fonte