Atualmente, usamos o servidor uma vez cc.net para nosso processo de compilação, que cria .net (usando msbuild & nant) e java (usando maven e ant).
O CC.net monitora o controle de origem e aciona uma compilação remota em execução em um servidor separado. O CC.net reúne os resultados.
Quando executamos a compilação remota, normalmente:
- executa unidade ou junit ou similar usando dados simulados
- opcionalmente, executa um script de banco de dados para criar uma nova instância de banco de dados ou restaurar um banco de dados de uma posição conhecida.
- executa selênio ou similar para testar a interface do usuário
- executa emma ou ncover para cobertura de código
- constrói o sistema para vários ambientes de implementação (teste, aceitação, produção)
Podemos ter várias compilações em execução ao mesmo tempo, algumas .net e algumas java (de diferentes equipes de projeto).
É bastante demorado para que as compilações remotas funcionem quando configuramos um novo projeto e achamos que deve haver algo mais adequado para compilações remotas do que o cc.net.
Alguém tem alguma experiência com compilações remotas com sistemas de integração contínua?
Eu realmente não quero listas de recursos de servidores de CI, gostaria mais de saber como você os usou em um ambiente com vários servidores e vários idiomas.
fonte
Estávamos enfrentando essa questão há algum tempo e decidimos ir com o TeamCity . Vimos apenas Hudson, CC e TeamCity. A escolha foi fácil de fazer - o TeamCity acabou sendo nosso servidor de compilação. Observe que eu não sou profissional nisso e foi minha primeira experiência com servidores de compilação naquele momento.
Hudson - eu não tinha ideia do que fazer e onde ler sobre isso. E mesmo que eu pudesse entender alguma coisa lá, não era uma opção - muito trabalho. Eu decidi dar uma olhada no CC.
Cruise control - o mesmo que Hudson, mas de uma maneira um pouco diferente. Absolutamente nada pode ser entendido lá sem um manual e uma tonelada de ajuda do google. Acabei de dar uma olhada no TC.
TeamCity - O TeamCity parecia um paraíso após os dois primeiros. É o mais utilizável desses três. Instale, vá ao painel de administração, configure um projeto (mostre onde está o SVN, aponte para criar arquivos, especifique cobertura / testes de unidade etc.) e comece a desfrutar. E mesmo que eu não possa dizer que não pesquisei no google, ainda assim 95% do processo de instalação foi muito fácil e claro. Eu recomendo esta ferramenta. Vá e dê uma olhada nisso. Isso economizará muitos nervos e tempo :)
Devo também observar que o TC não é gratuito. Embora eles tenham uma edição gratuita que pode ser usada em projetos comerciais com algumas limitações (configuração máxima da configuração 20) - dê uma olhada na página de preços.
PS Parece que trabalho para a TC, mas realmente não :)
fonte
Nós usamos o CC.NET 1.4.
Estamos tentando atualizar para 1.6 ... que pesadelo.
É poderoso ... mas SOMENTE se você usá-lo corretamente e entender como tudo se encaixa. O que é pedir muito de toda a equipe. Temos 'buildmasters' que têm acesso ao servidor e podem alterar as configurações. Mesmo assim, há muita pesquisa no Google com relação à ccnet e todo o negócio se tornou uma grande bagunça.
Pessoalmente, quero mudar para o TeamCity.
Eu recomendo que você evite o ccnet.
fonte
boa pergunta. No momento, também estamos tentando descobrir qual ferramenta se encaixa melhor para nós. Então, só poderei contar uma pequena experiência. Mas estaríamos muito interessados em qual sistema de CI você escolheu agora e por quais razões. Então, por favor, mantenha-nos informados.
Estou muito impressionado com o nível do seu IC. Eu tenho que admitir que temos menos requisitos, porque ainda não executamos testes de interface do usuário e não criamos instâncias de banco de dados ou similares, apenas usamos simulações para nossos testes de unidade.
Agora para nossas experiências até agora:
Para projetos Java, estamos usando o Bamboo, que funciona bem usando JUnit e Emma. E não há muito esforço para montar um novo projeto.
Para projetos .NET, ainda estamos procurando a melhor solução
Controle de cruzeiro: ainda não foi possível executá-lo devido a problemas de conexão com o repositório
TFS:
a) Existem algumas etapas de configuração necessárias para poder executar a primeira compilação.
b) Existem algumas armadilhas nas quais você precisa superar os direitos de acesso. Existem muitas funções que você pode definir e você precisa saber exatamente quais direitos têm seu processo de criação e qual sua conta de login pessoal. Mas se você tiver tempo suficiente para gerenciar, poderá definir cada granularidade específica de que precisa.
c) Em relação às bibliotecas referenciadas, também há algumas coisas para gerenciar, se você deseja compartilhar libs para muitos projetos e não deseja lidar com elas em todos os projetos
d) A execução do teste NUnit não é tão fácil quanto pensávamos. Só é fácil se você estiver usando a execução de teste fornecida pelo Visual Studio, mas isso não é NUnit
e) Ainda não tentamos rodar o NCover (as primeiras coisas primeiro :-))
Hudson: Próxima ferramenta, tentaremos. Parece ter um plugin realmente bom e fácil para o .NET. Vou informá-lo como funcionou
Bambu: primeira previsão que obtivemos: "Específico demais para Java". Mas talvez tentemos o plugin .NET, no entanto, eu o informarei
Espero que possamos continuar essa discussão e trocar experiências.
Andy
fonte