Empurrando a janela de encaixe para uma produção

1

Estou usando o docker-compose no ambiente de desenvolvimento com um arquivo docker-compose.yml , no qual listo todos os contêineres de que preciso.

Também tenho um repositório git centralizado, o servidor Jenkins e um outro servidor, onde eu vou manter tanto a preparação quanto a produção.

Então, a questão é como organizar melhor o processo de implantação.

Agora, git push no lado do servidor git aciona um trabalho de construção do Jenkins. Dependendo do nome da filial (teste ou produção), diferentes tarefas serão acionadas.

Um trabalho de construção usa o componente docker para criar todo o ambiente e executar testes. Como faço para enviar novos contêineres para o ambiente de preparação / produção?

Uma maneira é empurrá-los para o registro de estivador particular ou público, mas qual é a melhor prática de atualizar contêineres na produção? O servidor Jenkins deve executar ssh e executar os comandos kill , rm , pull e run ? Eu não vejo exemplos por aí.

    
por Glueon 19.05.2015 / 13:39

1 resposta

1

Kubernetes, Docker Swarm ou Rancher são provavelmente as melhores maneiras de implementar o que é chamado de atualização contínua.

Basicamente, uma atualização contínua levará uma coleção de contêineres (conhecida como serviço) e os atualizará um por um. Portanto, imagine que você tenha três contêineres executando seu aplicativo, uma atualização contínua retirará o primeiro contêiner e o atualizará, e assim por diante, até que o serviço seja totalmente atualizado. Isso significa que você efetivamente fica sem tempo ocioso no aplicativo, pois os balanceadores de carga desses produtos são inteligentes e não redirecionam para a atualização de contêineres.

Este link fornece uma implementação básica do Swarm executando um serviço e, em seguida, atualizando-o.

Atualização de rolagem do enxame

Para algumas das configurações e implementações mais fáceis - na minha experiência, o Rancher é um bom ponto de partida para aprender todos esses conceitos. Basicamente é uma interface em cima de diferentes tecnologias Docker como o Kubernetes.

Site do fazendeiro

    
por 18.04.2017 / 16:31

Tags