Pergunta

Você sabe, a próxima coisa “grande” e “empresarial” da Microsoft.

Sou só eu ou é realmente difícil para os humanos?Os principais destaques são (IMO):

  • Sintaxe absolutamente enigmática (-skip:objectName=filePath,absolutePath=App_Offline.* só por pular App_Offline.html)
  • Manifeste-se como uma reflexão tardia
  • Falta de documentação completa
  • Nem uma palavra sobre extensibilidade (exceto por vários posts por aí).Além disso, todas essas extensões desenvolvidas com grande esforço devem ser registradas no GAC e registro
  • Muito baixo nível (metadados/metakey;todo esse jazz do IIS)
  • Sem integração com MSBuild

É verdade que o MSDeploy e o MSDeployAgent são bastante poderosos, mas eles realmente precisam ser que complexo para tarefas relativamente simples?

Foi útil?

Solução

Também compartilho suas frustrações com a falta de documentação e a aparente natureza de baixo nível desta ferramenta.

No entanto, o que a MS fez foi finalmente criar uma ferramenta gratuita com a qual você pode realmente criar scripts para implantações de servidores inteiros, incluindo parametrização de endereços, configurações, etc.Infelizmente, isso é uma coisa muito complicada de se fazer - considerando quantos bits de configuração realmente vão para um servidor web - e esta é provavelmente a melhor maneira de fazer tudo isso.

O que precisamos agora é de uma GUI realmente boa que possa ajudar a construir esses pacotes, scripts, etc.A GUI incorporada ao IIS é boa - mas, novamente, com pouca explicação - então esperamos que isso seja resolvido em breve.

Do lado funcional, estou usando no momento para implantar um site de dev -> teste -> ao vivo com parâmetros para alterar endereços IP vinculados, etc.Fiquei profundamente frustrado por ter levado alguns dias para fazer tudo funcionar - mas agora que consegui, posso remover muitos dos possíveis erros humanos no lado do suporte de TI - que é responsável por nossas implantações.Agora só preciso me preocupar com a configuração do meu servidor de teste mestre - e posso ter certeza de que todos os servidores no web farm serão mantidos sincronizados sempre que eu implantar.

Como Sayed menciona, também, existem tarefas do MSBuild em 2010 (o recurso Website Deployment agora é implementado usando msdeploy) para trabalhar com isso - o que também traz a possibilidade de um verdadeiro ambiente de Integração Contínua para o VSTeamSystem - ter uma construção de equipe que pode realmente realizar uma implantação web completa, pois sua última etapa é muito emocionante (e assustadora, claro!).

Outras dicas

Na verdade, existem tarefas msbuild para msdeploy. Eles serão enviados com .NET 4/Visual Studio 2010.

Embora um pouco áspero nas bordas, passei um pouco o MSDeploy. Usá -lo para sincronizar servidores da Web em uma fazenda é muito útil, pois é eficiente (apenas copia alterações) e cuida das configurações reais do IIS, além de arquivos de conteúdo. Parece que o MSDeploy é um bloco de construção para vários cenários e usos. Além disso, como mencionado anteriormente, existe uma tarefa MSBuild para MSDeploy no .NET 4. Aproveitei essa tarefa do MSBuild para facilitar a implantação dos meus aplicativos da Web da TeamCity trivialmente. Eu escrevi aqui aqui:

Web Implement (MS Employe) da TeamCity - http://www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/

Recentemente, comecei a implementar um pipeline de implantação e achei os links abaixo bastante úteis:

Também usei estas referências:

  • Vídeo sobre msbuild no dnrtv.com
  • Livro da Microsoft Press chamado "Dentro do Microsoft® Build Engine: Usando o MSBuild e a Team Foundation Build " que você pode comprar versão em PDF da Oreilly

Finalmente, o livro de "entrega contínua", me deu boas idéias sobre a linha de tubulação de implantação, embora o livro não esteja focado no MSDeploy, mas vale a pena ler.

A declaração de documentação é típica de um produto MSFT 1.0, infelizmente o MSDN não possui mais engenheiros de tecnologia de desenvolvedores dedicados para preencher as lacunas-em vez disso, há uma fé cega que a Web o fornecerá.

Na verdade, estou pensando em tirar as minhas habilidades de escrita e escrever um pequeno e -book sobre ele, já que provavelmente existe um mercado para isso ....

O msdeploy definitivamente tem um toque do PowerShell: poder sobre a simplicidade em vez de pior é melhor.

Não há alternativa do Windows, no entanto, você pode hibridizar alguns de seus poderes para fazer implantações automatizadas. Por exemplo:

  • Compile sua solução com Team City e MSBuild
  • Use o MSDeploy para transformar seu site e web.configs no servidor de construção
  • FTP manualmente um arquivo zip do seu site (ele não suporta FTP)
    • Como alternativa, use seus recursos de implantação remota. Isso requer a porta 8172 aberta, muitas mudanças de segurança e até onde eu sei não concessões para balanceamento de carga
  • Use o MSDeploy no site ao vivo para sincronizar alterações

Como ferramenta, é claramente destinado a prestadores de serviços, pois é uma enorme faca do Exército suíço. Você pode fazer todos os tipos de coisas com o IIS, que, na maioria das vezes, acabam com as pequenas empresas. Não tenho experiência em configurações de grande escala do IIS, então talvez seja onde ela brilha.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top