Remodelando arquitetura de backend antiga para usar o Docker e o CI

1

Atualmente, estou executando um back-end em produção e quero alterar nossa configuração atual para usar o Docker para implantação e uma ferramenta de CI para testes.

Agora eu tenho um repositório BitBucket com as duas ramificações principais "develop" e "master", e dois servidores separados para desenvolvimento e produção que puxam o código das respectivas ramificações através de um shell script que eu aciono localmente. Dessa forma, testo as alterações manualmente em um ambiente completamente isolado com um servidor dev e um banco de dados dev antes de mesclar para o mestre e implementar na produção.

git Repository            dev-server           prod-server
|                        +----------+         +----------+
|-- develop              |          |         |          |
|-- master               |  pulls   |         |  pulls   |
                         |  develop |         |  master  |
                         |          |         |          |
                         +----------+         +----------+

Eu quero mudar isso escrevendo testes e usando o Docker e uma ferramenta de CI como o Drone (é um Go backend) ou o Jenkins, mas não tenho ideia de como tudo isso funciona junto. Eu já li bastante sobre o Docker e a maioria dos tutoriais supõe que você desenvolva localmente e implemente o contêiner diretamente em um servidor de produção. Também acho que a ferramenta de CI deve estar localizada no servidor de desenvolvimento?

Alguém pode me explicar como os fluxos possíveis seriam no meu cenário?

Exemplo: eu faço uma alteração localmente e, em seguida, envio "desenvolver". O servidor de desenvolvimento possui um gancho git que reconhece o push e, de alguma forma, aciona o servidor de IC que executa os testes. Se os testes passarem COULD mescla desenvolver para mestre (este CD agora?), O que novamente aciona um gancho no servidor de produção que constrói a nova imagem e executa o contêiner. Isso esta certo? Além disso, qual servidor está hospedando o docker repo agora?

    
por codepushr 17.08.2016 / 15:11

0 respostas