Pergunta

Eu configurei o CruiseControl.net CS para o meu projeto que possui vários módulos e componentes que são construídos e armazenados na pasta a data na máquina de construção. O que eu preciso fazer a configuração do aplicativo (WPF non web ) E o fato é que, como existem várias soluções de módulo e diferentes que constroem e finalmente fazem o produto (DLLs) etc. Qualquer sugestão para se reunir com uma estratégia de configuração que criará uma configuração noturna e também qual pacote de configuração para usar (algo mais simples ou de acordo com você que levaria menos tempo) Eu estava planejando instalar algo na máquina de construção que pegasse os arquivos da pasta (que pasta?) E fazer a configuração ...

Um link para ilustrar o ponto é Firefox's Nightly Build.

Qualquer conselho pessoal

Desde já, obrigado.

Foi útil?

Solução

Estou descobrindo que esse sistema está funcionando muito bem para mim. Presumo que vs 2005/2008 e C#, mas o mesmo princípio funciona para outros compiladores e idiomas apenas substituem seu próprio sabor.

Usando cc.net

  • Confira toda a fonte com o ScheduleTrigger, se vários locais usarem
  • Use o msbuild para construir cada solução necessária (assumindo vs 2005/2008), ou NANT, ou qualquer que seja a ferramenta de construção que funcione melhor para compilar seus projetos de componentes
  • Use o MSBuild para criar instaladores do WIX, embora eu também tenha usado o MSBuild para criar instalações de estúdio de instalação Innosetup e Sábio
  • Use o msbuild para atualizar os arquivos AssemblyInfo.cs para todos os projetos que você deseja que o script de construção controla
  • Use sua linha de comando de controle de origem para verificar os arquivos atualizados do AssemblyInfo.ca
  • Por fim, use o msbuild para copiar seu instalador de saída para uma nova pasta no seu servidor. Eu uso o carimbo de hora do produto principal executável para fazer um registro de data e hora junto com o número da versão gerada para nomear a pasta (../builds/product/vmmrp - date horário/)

Também gosto de gerar um e -mail de aviso de compilação no final.

Quanto a Recomendações do instalador, há uma troca.

Para geração rápida, use um instalador de scripts como NSIS ou Inno Setup. A desvantagem não está sendo compatível com o Windows Installer.

Para produtos do Windows Installer, o uso de Wise ou InstallShield é mais rápido para gerar a primeira vez, mas as ferramentas caras e acho que a manutenção nos meus scripts de instalação é alta. O uso do WIX tende a ser muito mais caro na primeira vez (aprendizagem da curva + imposto sobre suporte de ângulo), mas depois mais fácil de manter, pois é tudo XML e as ferramentas da linha de comando são fáceis de usar.

Tive algum sucesso com o agrupamento de instalação com a Inno Setup como o Windows Installer Bundling and Cinging (pelo menos para o Windows XP) é uma dor real.

Outras dicas

Nós costumavamos Construção visual e sábio para a criação do instalador e ache que altamente intuitivos e fáceis de criar as configurações. O Projeto CC.NET real faz algumas coisas, a primeira coisa é que ele verifique se todas as peças necessárias foram construídas com sucesso desde a última vez que criamos um instalador (permitimos que os instaladores sob demanda e sejam agendados todas as noites) se Eles não foram construídos com sucesso, reconstruímos todos os componentes, uma vez que eles foram (ou se já foram) construídos com sucesso, chamamos o VisualBuildPro e o deixamos criar o instalador. O Visual Build Pro, lida com toda a cópia e a chamada de Wise para o instalador real. Depois que o instalador é criado, publicamos -o no destino onde todos esperam que seja. Também modificamos o XSL para o editor de email no servidor Builds, para que todos recebam um link para o mais novo instalador depois de publicado.

Algumas coisas sobre as compilações noturnas, se puder, tente configurar um servidor de símbolos e fazer com que todos os símbolos de upload do instalador com as informações do código -fonte até eles. Este também é um bom ponto de criar qualquer documentação (d'Oxygen; Sandcastle) e o tempo para executar todo o seu conjunto de testes que você tem disponível.

Dar uma olhada em Wix. Esse conjunto de ferramentas permite que o projeto de configuração seja definido no formulário XML e, em seguida, gera o MSI a partir deste XML. O fato de o projeto ser definido no XML oferece muita flexibilidade para modificar este XML em tempo real durante a construção (se necessário).

Integra -se ao msbuild - veja Este artigo, e também funciona bem com Nant - veja Este artigo.

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