Pergunta

Estou a planear propor ao meu (muito pequena) empresa que compra um computador para executar a integração contínua diante. Se eles dizem que sim, a tarefa de realmente comprar a máquina provavelmente vai cair sobre mim, então minha pergunta é:

O que eu procuro em um computador que será utilizado para a integração contínua para uma equipe muito pequena php (3 pessoas)?

O que "coisas" (memória, processador, etc.) são importantes, e quais não são?

Foi útil?

Solução

Você não está realmente indo a necessidade de que poderoso de uma máquina. Se você estiver executando testes ou outras métricas, processando capacidade é provavelmente a sua principal preocupação, mas realmente você pode executar que em um velho Pentium 1 e ele provavelmente iria funcionar.

As suas restrições vão ser seu ambiente operacional. Se você estiver executando LAMP você quiser usar uma máquina que pode lidar com a configuração LAMP bem que é praticamente qualquer máquina * nix que é bastante moderno.

Eu configurar uma configuração de integração contínua para .NET em uma estação de trabalho Pentium4 de idade que tinha, que volta e tratado muito bem.

Uma coisa a ter em mente é o espaço de armazenamento se você estiver arquivando o seu código na compilação.

Outras dicas

Armazenamento tornou-se o problema para nós quando estávamos usando Maven , Continuum e Clearcase e construção de hora em hora. Os pontos de vista de instantâneo foram sendo deixados em torno após cada compilação.

Tivemos uma caixa bastante poderosa (Sun Fire V490) e usou-o para o nosso ambiente de integração de desenvolvimento e Archiva repositório. Então, nós realmente nunca tive quaisquer problemas com o desempenho e memória. Na verdade, a única vez que teve um problema com a memória PermGen ele estava construindo o alvo local Maven e que apenas significou usando XX:. MaxPermSize = 128m

Da minha experiência, isso não tem que ser uma máquina de potência. Qualquer máquina que você usaria para o desenvolvimento seria mais do que satisfatório. Obviamente, quanto mais rápida a máquina, mais rápida será a resposta se você estiver executando testes de unidade sobre commits código. O nosso servidor CI está rodando o XP SP2, processador 3G, 3G de memória RAM, e de maneira dominado para as nossas necessidades no momento. Dito isto, é bom para obter um e-mail não mais do que 6 minutos depois de se comprometer que lhe permite saber se a compilação é limpo e todos os testes passam. Para fazer nightly builds, as especificações provavelmente pode descer mais, como você provavelmente terá mais tempo para obter essas feito. espaço no disco rígido (300G razoavelmente é atingível nos dias de hoje) é bom para armazenamento de relatórios e constrói a regressão, mas se você tem um NAS provavelmente você pode empurrar artefatos depois de terem sido construídos.

Praticamente qualquer nova máquina que você pode comprar hoje pode lidar com a tarefa de integração contínua em uma árvore fonte não muito grande. Algumas coisas para procurar:

  • 2-4GB de RAM, mais se você deseja executar muitos testes em paralelo ou você deseja executar máquinas virtuais para clientes simulados.
  • Um processador multi-core (ou processadores múltiplos) para aumentar as probabilidades de captura erros de encadeamento.
  • "servidor" máquinas de classe tendem a lidar com a operação 24/7 melhor do que máquinas de classe "desktop", mas não há nenhuma linha clara entre os dois.
  • RAID1 ou RAID1 + 0 discos redundantes são um must. Mesmo se você tiver backups (e você deve tê-los de qualquer maneira) é uma dor para reconstruir um servidor e um extra de $ 100 disco rígido é mais do que vale o dinheiro como um seguro.

RAM: ( phpUnderControl ) suficiente para executar sua ferramenta de CI e qualquer suporte de software você quer para a sua construção e testes.

armazenamento: decidir quantos velho constrói você quer manter na máquina. Na minha experiência, não é útil para manter muitos, esp. se você tem pequena equipe w / out um monte de processo formal para rolar de volta para mais velho constrói.

CPU: non-issue. Qualquer máquina que você pode comprar vai funcionar.

Assim, entre os dois que eu tendem a favorecer RAM sobre o espaço de armazenamento.

A menos que o aplicativo é enorme eu tinha acabado de ter uma caixa de núcleo duplo com cerca de 4 GB de RAM e, provavelmente, 2 discos SATA razoavelmente rápido fixado em RAID 0. 500 Gigs talvez?

Se você quer ser realmente seguro, com isso, obter duas 70ish unidades gig para RAID 0 para a partição OS e, em seguida, 3 140 + unidades show em RAID 5 para os dados.

O desempenho da máquina pouco importa, mas cuidar bem de disponibilidade, porque uma vez que você começar a usá-lo e um dia a fumaça mágica sai, você precisa substituído em breve para continuar trabalhando. Definir uma política de backup sensível e verifique se você sabe como configurar um novo sistema idêntico quando necessário. Por exemplo, você pode executá-lo a partir de uma pequena partição que você pode imagem em outra máquina, e, em seguida, a parte principal dos dados pode ser movido fisicamente se ele reside em RAID1 e pelo menos um obras de acionamento (embora ter um outro lugar disponível de backup na rede também).

Eu acho que uma coisa que muitas pessoas aqui estão chegando é a máquina não é tão importante quanto o software CI. A única vez que a máquina é importante é se você precisa de diferentes arquiteturas. Caso contrário, obter uma máquina que corresponde ao seu ambiente de destino. Se você está construindo um aplicativo de servidor, ele pode ser sábio para obter um processador de 64 bits desde seu aplicativo provavelmente será executado em um servidor de 64 bits.

Eu importo mais sobre qual ferramenta eu estou usinging para CI. Você precisa de algo que vai correr rápido, e como as pessoas aqui têm apontado, não deve prender o velho constrói a menos que você precisa deles para estar disponível. Se assim for, eu olhar para algo que permite o upload constrói e resultados para um servidor separado.

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