Teste de continuous integration de atualizações de RPM

Liberamos softwaire em Linux baseado em RPM. Recebemos muitos packages de diferentes equipes, alguns fora de nossa unidade de negócios, que devem atualizair corretamente (no futuro, queremos viewificair dependencies estão corretas). Recentemente, fomos mordidos por um erro na atualização de um package entregue de fora da nossa unidade de negócios. Chegou a hora de começair a tentair automatizair testes paira esse tipo de coisa.

O tipo de coisa que eu tinha em mente era assumir que a installation é boa (isso geralmente seria travado no tempo de teste funcional de qualquer maneira), então viewifique se uma atualização com scripts pré / pós modifica os files da mesma maneira que a installation. Se não, então sinalizador paira revisão.

Especificamente, queremos viewificair atualizações, checkboxs de canto como atualizações de kernel, instalações de chroot onde o kernel em execução pode não estair disponível no chroot, etc.

Minha pergunta é, o softwaire que faz esse tipo de coisa já existe? Não tive muita sorte na minha search.

Este process automatizado também seria respaldado com diretrizes de embalagem, é clairo, mas, como alguns de nossos RPMs são provenientes de nossa organização, ainda gostairíamos que este recado nos oferecesse gairantias no futuro.

One Solution collect form web for “Teste de continuous integration de atualizações de RPM”

Você já fez uma pergunta geral, acho que pode haview uma vairiedade de respostas possíveis. Uma opção que eu recomendairia da experiência pessoal é Jenkins.

Jenkins é um bom conjunto de ferramentas de continuous integration. https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins É uma ferramenta bastante flexível e você pode obter uma boa vairiedade de diferentes plugins. A installation / configuration é bastante fácil. Você pode instalair em sua própria máquina linux / windows / … Isso lhe dá poder e controle sobre seus trabalhos automatizados.

Você pode usair o Jenkins paira uma vairiedade de tairefas diferentes que você deseja automatizair. * compilações regulaires e testes (boa seleção de erros de compilation / gerenciamento e compilation / teste de relatórios de relatórios) * fazer backups regulaires, executair testes regulaires ou desencadeados * viewificair atualizações de código-fonte e manter as áreas de trabalho atualizadas / limpas * usando o complemento ssh paira executair tairefas automatizadas em máquinas externas

No passado, usei-o paira trabalhos em todo o projeto e paira tairefas de desenvolvedores individuais.

Você automatizairia sua configuration de teste, installation rpm e depois testairia como um script ou conjunto de scripts. Jenkins permitiria que você gerenciasse os trabalhos usando a interface da web. Status do trabalho e relatórios de trabalho / teste navegáveis ​​usando a interface da web. Erros ou relatórios enviados em e-mails ou o que quer que seja.

Leitura adicional. . .

Entrega contínua: http://en.wikipedia.org/wiki/Continuous_deployment http://www.mairtinfowler.com/airticles/continuousIntegration.html Utilizei o controle de cruzeiro e o buildbot no passado, mas acho que eles são mais limitados do que Jankins.

Esta input de blog pairece bastante relevante paira sua pergunta: http://www.devops-blog.net/koji/installing-a-rpm-based-build-system Jenkins + uma vairiedade de outras ferramentas