BT

A infraestrutura de teste do Docker

| por João Miranda Seguir 2 Seguidores , traduzido por Bruno Rocha da Silva Seguir 0 Seguidores em 31 jul 2015. Tempo estimado de leitura: 2 minutos |

Jessie Frazzelle, membro da equipe do núcleo do Docker, é responsável pela infraestrutura de teste do Docker. Ela descreveu como essa infraestrutura é construída com os próprios containers do Docker.

A infraestrutura de teste é composta por cerca de 50 servidores. Eles respondem pelos seis diferentes controladores de armazenamento, que determinam como o Docker armazena os containers, todas as distribuições Linux e as várias versões do kernel do Linux que o Docker suporta. O cliente do Docker para Windows, que fornece uma VM leve para executar hosts Docker no Windows, também é levado em conta.

Push para o projeto master do Docker e Pull Requests (PR) têm seus próprios fluxos de trabalho. Além de executar todos os testes do Docker, cada push bem sucedido para o master publica os binários e documentações para aqueles que querem testar a versão "bleeding edge". O Docker Binary Builder, ou docker-bb como é chamado, lida com a construção dos binários principais.

Pull Requests possuem o seu próprio fluxo de trabalho e seus próprios servidores. Cada Pull Request - existem mais de 100 por semana - é executado com os testes do Docker, no novo binário experimental e no cliente para Windows. Leeroy, um pequeno aplicativo construído por Frazzelle, gerencia todos os builds dos Pull Requests. As suas responsabilidades incluem a atualização do status (pendente, sucesso, falha ou erro) do Pull Request e validação do certificado de origem do desenvolvedor Docker.

O servidor de integração contínua do Docker é o Jenkins, uma vez que ele fornece a flexibilidade e o controle que a equipe precisa. Como esperado, Frazzelle usa a imagem oficial para executar o Jenkins dentro de um container.

O Consul, uma ferramenta para descoberta de serviço, é parte fundamental da infraestrutura de teste. Frazelle utiliza a sua capacidade de tags (marcações) de serviços para rastrear dados, tal como as versões do kernel do Linux ou drivers de armazenamento. Isto, por sua vez, ajuda nas atividades de resolução de problemas. A verificação de status do Consul tem o suporte dos consul-alerts para notificar a equipe quando um serviço fica indisponível ou comprometido.

A equipe de Docker usa nsq, uma plataforma de mensagens distribuídas em tempo real, para integrar muitos desses processos. Por exemplo para conectar hooks do GitHub ao docker-bb ou para gerar documentações no master.

Todos os serviços permitem que os testes de infraestrutura sejam executado dentro dos containers do Docker. A infraestrutura de teste utiliza a versão mais recente do Release Candidate do Docker sempre que houver uma. Às vezes, são usados os últimos binários principais para pegar os bugs o mais cedo possível.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT