Posso manter o CruiseControl.Net ccnet.config no SVN, então tem CruiseControl atualizar seu próprio arquivo de configuração quando uma alteração é o check-in?

StackOverflow https://stackoverflow.com/questions/543778

Pergunta

Eu gostaria de ser capaz de manter a nossa de CruiseControl.Net arquivo ccnet.config no SVN, então quando eu o check-in uma mudança, ou seja, eu adicionei um novo projeto, ele irá atualizar-se.

Desta forma, eu tenho o arquivo de configuração sob controle de origem e posso acompanhar as mudanças que estão sendo feitas.

Eu reconheço que eu poderia check-in uma mudança que vai estragar CruiseControl a um ponto onde eu teria que ter alguma intervenção manual, mas no caso geral, isso soa como ele iria trabalhar muito bem.

No entanto, este circuito parece que ele poderia criar um buraco negro e destruir o mundo. Eu gostaria de manter isso fora da minha consciência, se possível.

Qualquer pensamento?

Foi útil?

Solução

Estamos fazendo quase exatamente isso e há buracos negros apareceram ... ou talvez eles fizeram e apenas evaporado? :) CruiseControl.NET lida com isso muito bem, ele vai mesmo esperar até que qualquer outro constrói ter terminado antes de reiniciar.

O nosso processo soa um pouco mais complexa, aqui vai um breve resumo sobre o fluxo de trabalho:

  • Em nosso "Omega" constrói (RTM, GA, Ouro, ...) para um projeto que automaticamente cria um novo projeto ccnet. Projeto é baseado em um ramo (cujo nome também é gerado automaticamente a partir ) que também é criado ao mesmo tempo.
  • O novo projeto é adicionado, ccnet.config é atualizado para fazer referência a ela, cópia de trabalho é atualizado, comprometida, então atualizado.

Assim, é preciso (no máximo) 2 cliques para nós para criar uma compilação de lançamento de ccnet - um clique para criar o projeto ramo e ccnet, em seguida, outro clique para forçar o primeiro construir contra o ramo release, ou você pode apenas esperar para o patch inevitável; -)

Happy para fornecer mais detalhes, se você quer que eles.

Outras dicas

Eu também não gostava de ter que mudar manualmente o ccnet.config. Aqui é foi que eu fiz:

Adicionado o ccnet.config (e relacionados) para svn. Feito um projeto 'Configuration' e acrescentou as seguintes partes:

  • SourceControl bloco de verificar a configuração para a dir 'Prep'.
  • arquivo de configuração cópia que não estão em (parte de configuração de segurança) svn para o diretório 'prep'.
  • Executar CCNetValidator Agains o 'Prep' diretório
  • Checkout a configuração para a localização real de configuração.

A coisa que eu mais gosto sobre isso é que quando eu cometer um erro na configuração Eu tenho uma compilação falhar, mas a configuração actual ainda não é atualizado.

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