Estou trabalhando em um projeto de aplicativo da web e preciso criar um script de construção; um script de construção que posso acionar do meu servidor cruisecontrol. Como o nant não é mantido há anos, acho que o MSBuild é o caminho a seguir.
Eu preciso que o script de construção seja capaz de
- Compilar todos os conjuntos
- Execute testes de unidade
- Execute a análise NCover nos testes de unidade
- Implante o banco de dados (dependendo dos parâmetros). Na verdade, isso é executar uma ferramenta, pois vou acabar escrevendo minha própria ferramenta para implantar o banco de dados. Mas a execução da ferramenta deve ser condicional com base em algum parâmetro da linha de comando.
- Forneça testes de unidade e resultados de cobertura em um formato que o cruisecontrol possa ler e entender.
Presumo que o MSBuild me permitirá fazer todas essas coisas. Mas não sei por onde começar. Alguém conhece um bom tutorial para começar com meu script de construção?
Respostas:
Este foi meu primeiro tutorial. Muito fácil de entender e seguir:
https://codingcockerel.wordpress.com/2008/04/15/automating-the-build-with-msbuild/
fonte
Comece aqui: http://brennan.offwhite.net/blog/2006/11/29/msbuild-basics-1of7/
fonte
Há uma postagem no blog " Getting Started with MSBuild " no Visual Studio Blog que oferece uma boa visão geral de como o MSBuild está conectado ao Visual Studio. É bastante recente (25.02.2010) e usa o Visual Studio 2010 e o MSBuild v4.0 que o acompanha.
Porém, não há muito código lá.
Só depois de ler este blog é que entendi que os próprios arquivos * .csproj são arquivos MSBuild. E também, que os comandos Construir, Limpar, Reconstruir e Publicar no menu de contexto do projeto são realmente "destinos" do MSBuild.
fonte
Perdi muito tempo antes de comprar o livro Hashimi MSBuild , fantástico - concordo com esta crítica de Steven St Jean .
Além de uma excelente introdução completa aos scripts do MSBuild, ele tem uma seção de livro de receitas sobre como fazer processos de automação de compilação típicos, como números de compilação etc. Obviamente, a última seção do TeamBuild não será diretamente relevante para você, mas muitos dos tópicos são genéricos em todas as ferramentas de CI.
ATUALIZAÇÃO: A 2ª edição mantém a tendência, adicionando uma seção indispensável ao WebDeploy
fonte
Escrevi isso há alguns anos e tento mantê-lo atualizado com os novos recursos do MSBuild:
http://thomasardal.com/msbuild-tutorial/
fonte
Achei este tutorial do MSBuild de Patrick Smacchia muito informativo (embora eu o tenha lido como um não iniciante)
Também as melhores práticas para a criação de versões reutilizáveis, parte 1 da MSDN Magazine por Sayed Ibrahim Hashimi e parte 2
(E eu marquei com +1 o tutorial de Brennan)
fonte
Verifique isso no MSDN How to: Write a Simple MSBuild Project .
É um bom artigo e me ajudou a começar.
Aqui está o pdf da versão impressa do mesmo.
fonte
Acho este livro muito útil: http://www.amazon.com/Deploying-NET-Applications-Learning-ClickOnce/dp/1590596528/
fonte
Também estou procurando informações sobre esse assunto.
Este é um bom artigo, Versioning Builds with TFS and MSBuild .
Eu postei uma resposta Stackoverflow aqui para uma pergunta relacionada, onde também menciono este ótimo episódio na DnrTV, Sayed Hashimi no MS Build .
fonte