- Iniciando
- Documentação
Arquitetura
Políticas e Padrões
Infraestrutura
- Ecossistema
Ambientes
Integração Contínua
Monitoramento
Utilitários
Documentos
- Equipe
Implantação
A integração contínua e a entrega contínua – continuous integration e continuous delivery, sob a sigla CI/CD, para simplificar – formam a base do fluxo de trabalho DevOps.
O objetivo deste documento é apresentar qual abordagem temos seguido para realizar o deploy dos serviços do STF Digital.
Objetivos
Em termos de implantação, trabalhamos com seguinte conjunto de objetivos:
Evitar a geração de imagem diferente em cada ambiente
Realizar deploy de forma rápida e transparente
Descrição
É realizado o deploy da imagem com a Ferramenta Spinnaker que utiliza o conceito de Continuous Delivery que possui algum passo manual, os passos são conhecidos como stages conforme descrito abaixo:
- Verificar Versão Jira: realizada a verificação no Jira se existe a versão da release a ser implantada, caso não exista, é criado automaticamente com o nome da release.
- Deploy em Qualidade: realiza o deploy da imagem no ambiente de Qualidade.
- Promover para Homologação: Faz uma pergunta para o usuário se pode promover a imagem para o ambiente de Homologação. Se a resposta for “Promover” segue a execução do fluxo, caso for “Rejeitar”, finaliza a execução do Pipeline.
- Deploy em Homologação: realiza o deploy da imagem no ambiente de Homologação.
- Promover para Produção: Faz uma pergunta para o usuário se pode promover a imagem para o ambiente de Produção. Se a resposta for “Promover” segue a execução do fluxo e implantará somente às 22h, se for “Imediato” ou “Emergencial” segue o fluxo e implantará na mesma hora, caso for “Rejeitar”, finaliza a execução do Pipeline.
- Atualizar Git: Atualiza o código da branch develop com a Master do Projeto no gitlab.
- Atualizar Registry Privado: Atualiza a imagem com a nova tag gerada sem o RC nos registry interno.
- Atualizar Registro Privado: Atualiza a imagem com a nova tag gerada sem o RC nos registro interno.
- Atualizar Registry Público: Atualiza a imagem com a nova tag no registry do gitlab.
- Abrir issue no Jira: Realiza a criação da issue de implantação no jira associada a versão da release.
- Aguardar Implantação às 22h: Aguarda o resultado do passo do estágio “Promover para Produção”, caso seja “Promover” aguarda até as 22h para realizar a implantação, caso seja “Imediato” ou “Emergencial” realiza a implantação na mesma hora.
- Deploy em Produção: realiza o deploy da imagem no ambiente de Produção.
- Fechar Issue no Jira: caso obtenha sucesso no “Deploy em Produção”, fecha a versão no Jira retirando o nome “-RC” e também resolve e concluí a issue de implantação no Jira. Caso não obtenha sucesso somente fecha a versão do Jira.