App para gerenciar / testar código no cluster remoto de máquinas

1

(não tenho certeza se esse é o grupo certo)

Eu tenho uma situação em que tenho vários aplicativos que são criados / criados. Esses aplicativos mudam com o tempo, então eles precisam ser testados. Eu tenho um número de servidores de teste distribuídos, para que eu possa essencialmente testar os aplicativos em paralelo nas diferentes caixas de teste.

A situação que estou enfrentando é aquela em que podemos ter ~ 200-300 aplicativos separados que precisam ser executados / testados de forma iterativa, em que cada execução pode levar de ~ 1-2 horas para ser executada.

Estou procurando algum tipo de aplicativo que permita criar um processo de lote / trabalho, em que cada lote / trabalho contenha os aplicativos que devem ser executados, e eu posso agendar o lote para executar conforme necessário. O processo teria, então, a máquina cliente solicitando que o lote / trabalho fosse executado quando a máquina estivesse pronta para executar o próximo lote / trabalho.

Eu pesquisei o Sourceforge / Freshmeat de sempre, assim como observei alguns dos tipos de aplicativos globus / cluster management. Ainda não vi nada perto do que estou procurando.

Pensamentos / comentários seriam úteis.

Obrigado

    
por tom smith 29.01.2011 / 18:13

2 respostas

2

O

Buildbot é um sistema para automatizar o ciclo de compilação / teste. O Buildbot suporta clusters de máquinas.

    
por 29.01.2011 / 18:22
1

Existem muitas respostas para esta questão. No entanto, tenha em mente que tudo exigirá alguns scripts e personalizações da sua parte.

A sugestão de alvosu de usar o Buildbot é excelente e você deve definitivamente verificar isso primeiro. Algumas outras ideias que posso pensar incluem:

Hudson distribuído vale a pena ser investigado. O Hudson é a estrutura de integração contínua padrão que todos usam atualmente e você pode distribuir seu trabalho entre um conjunto de máquinas.

Você mencionou que já analisou o software de gerenciamento de clusters, essa é outra opção popular, embora seja necessária mais configuração. Por exemplo, uma abordagem interessante seria configurar um Cluster de ROCKS e usar seu SGE de mecanismo de execução remota padrão para iniciar tarefas na criação anfitriões.

Estou pessoalmente interessado na ideia de usar GNU Parallel como um simples sistema de lançamento .

    
por 29.01.2011 / 19:34