Pergunta

Eu sei o suficiente para saber que precisamos para chegar a nossa candidatura de mobilização com uma única ação do usuário. No entanto, I não saber:

  1. Quais são algumas boas ferramentas para usar em uma loja .NET?
  2. Como você gerenciar as mudanças de configuração para cada um de seus ambientes?

Pode alguém me aponte para alguns bons recursos para integração contínua. Eu gostaria de ver alguns teoria, bem como um passo a passo guia prático.

Editar:
Estou em necessidade de automatizado uma implantação web agora; no entanto, eu também gostaria de saber como fazer isso para aplicativos de desktop.

Foi útil?

Solução

Eu escrevi um post de blog que pode ser útil:

Visual Web Deployment Projects Estúdio

É um ano e meio de idade, mas falou sobre alguns novos modelos (na época) de projeto para VS e também um utilitário de linha de comando da equipe IIS chamado MSDeploy. Eles parecia realmente promissor e parecia que eles são ideais para a segmentação várias configurações de compilação, a sincronização de vários servidores em uma fazenda, e mais controlar todo sobre a saída real da implantação do site.

Talvez agora as tecnologias amadureceram também.

Outras dicas

Temos tido grande sucesso com Windows Installer XML . Basicamente, você define os componentes que compõem sua aplicação em XML e WiX transforma isso em um pacote MSI. A documentação é relativamente escassa, mas o arquivo CHM fornecido combinado com pesquisa fu vai te dar um longo caminho.

Os pacotes MSI pode tomar parâmetros de entrada para valores de configuração e executar ações para manipular arquivos de configuração após o pedido ter sido implantado. Por exemplo, "msiexec / i MyCustomPackage.msi SqlServer = SomeSQLBox" poderia implantar o aplicativo web e modificar a entrada de configuração para uma caixa de SQL dependente.

Visual Construção Profissional de Kinook é uma ferramenta muito boa para a implantação de um clique. É fácil de usar e tem um monte de recursos. Eu tenho usado por anos. Claro que há também NAnt, que eu não usei muito.

Quanto gerenciar mudanças de configuração, eu gerenciar vários arquivos de configuração com extensões que indicam o ambiente de implantação, e depois é só fazer uma renomeação simples como um passo dentro do meu script de construção.

Por exemplo, se eu estou implantando em teste, eu poderia ter um arquivo de configuração chamado Web.test.config, que fica renomeado automaticamente para Web.config pelo script de construção.

Eu escrevi um post bastante detalhado blog usando TeamCity, e projetos de implantação da Web para automatizar criação e implementação como um fermento aqui:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

Eu então adicionado a esta para mostrar além FTP

http: // www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

Um fluxo básico processo é bastante simples:

  • Usando um TeamCity compilação do servidor i download da minha SVN repo
  • I construir e implantar o site para uma pasta local no servidor de compilação
  • I disparar um cliente FTP de linha de comando que suporte scripts chamado
  • WinSCP usando o EXEC MSBUILD Task (http://winscp.net/)
  • Fazer upload de conteúdo todos os meus sites
  • Tem [inserir bebida] de escolha

Eu, então, certifique-se de que eu só implantar a mala do meu repo SVN, e desenvolver e testar tudo em um ramo antes de se fundir - Só desta maneira o material testado é distribuído. Adicionar testes automatizados para o seu ciclo de construção e você tem um jogo feito no céu.

Alguns grandes ferramentas gratuitas que ir são:

Eu vejo duas questões diferentes:

  • Para a coisa de implantação: A implantação ClickOnce deve fazê-lo. Você acabou de publicar seu aplicativo de desktop, indo em VS.net no menu Build> Publicar. VS.net seguida, compila uma página web e uma setup.exe. Quando os usuários com IE ou Firefox e NET 3.5 SP1, clique no link, ele é executado imediatamente. ClickOnce também lida com a atualização para você e há extensa API para desenvolver para ele.
  • A integração contínua é uma coisa muito diferente. Eu sugiro que você google para 'CruiseControl.net' e baixar e experimentar tantos recursos quanto possível. É basicamente um servidor de compilação, mas você pode conectá-lo com o SVN, NUnit para testes e assim por diante. Eu não sugiro comprar um livro para um produto tão volátil. É melhor para baixá-lo e experimentar as coisas.

CruiseControl.NET para sua solução ContinuousIntegration. Para implantação Eu uso um arquivo de projeto MSBuild. No topo do que eu manter todos os arquivos dos servidores de configuração. I passar para MSBuild no através dos parâmetros servidor propriedade que conta MSBUILD que valores de configuração de usar e, em seguida, completa a implantação. A única implantação que não pode ser feito desde CruiseControl é o único a nossos servidores ao vivo. Deixamos essa linha de comando MSBuild apenas para que não acidentalmente apertar um botão, ou então alguém com acesso ao painel CC.NET web é que apenas brincando.

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