Quais são as ferramentas adequadas para configurar uma compilação e execução remota (algo como ideone)?

1

Estou tentando obter uma funcionalidade semelhante em um servidor para a programação da comunidade e redigi isso para incluir outra função do oneide: De um Perl CGI eu construo um script como este (nem mesmo pseudocódigo):

compiler_response = timeout (params) compiler (params)
result = timeout compiledprogram (params)
save result in database

Eu acho que o tempo limite é a ferramenta que eu preciso para impedir que o programa execute ou compile mais de X segundos. O problema que tenho é que eu preciso limitar o programa compilado a escrever para algo diferente de STDOUT ou ler qualquer coisa diferente de STDIN. Também preciso limitar o tamanho do programa a um determinado limite, 128 KB, por exemplo, e a quantidade de RAM que ele pode usar, 64 MB, por exemplo.

Quais são as ferramentas adequadas para fazer isso do bash? Agradecemos antecipadamente.

    
por alfa64 19.01.2012 / 03:34

3 respostas

1

O LibreOffice e o KDE usam sorvete & ccache para construir mais rapidamente sua fonte de código gigantesca.

  • O Ccache mantém muitas informações de compilação disponíveis para o gcc / g ++ para o próximo.
  • O icecream permite compilar remotamente com uma abordagem master / slave clássica

Eles funcionam muito bem, são fáceis de configurar e já estão integrados em muitas distribuições Linux. No libreoffice, o tempo de construção vai de 4 horas a 30 minutos.

Se você não planeja compilar usando o gcc, talvez você possa aprimorar uma dessas ferramentas.

    
por 19.01.2012 / 11:36
1

usamos buildbot em nossa empresa.

    
por 19.01.2012 / 11:47
0

Eu não tentei isso antes, mas você poderia tentar usar o Koji do FedoraProject, este constrói o RPM a partir dos tarballs de código.

link

Ele usa o Mock

link

Se o seu código é sobre coisas empresariais em Java / .NET, o Hudson pode ser um link muito legal

    
por 19.01.2012 / 08:31