Skip to content

Infrastructure

Guilherme Peres edited this page May 12, 2022 · 4 revisions

GitHub

Actions

Ferramenta responsável pelas automações nas etapas de validação, verificação ou construção no estágio de deploy do website. Consulte mais detalhes sobre esta ferramenta na documentação oficial.

Hoje temos os seguintes fluxos de trabalho configurado no repositório website:

Continuous Integration

Nesta etapa de construção é realizado os testes, atualmente sendo compostos por testes unitários e de formatação.

A etapa é iniciada assim que o repositório recebe uma nova branch e ou novos commits nas branches já existentes.

Hoje a validação automática consiste nos códigos escritos em python (arquivos de extensão .py ou .ipynb).

Para obter mais detalhes sobre o status do fluxo de trabalho, consulte o status do mesmo através da interface do GitHub.

Imagem: Diagrama de fluxo: Action CI

Continuous Deployment

Atualmente utilizamos dois ambientes em nosso website, sendo:

  1. staging: Pré-produção, onde é validado as alterações e ou novas funcionalidades. Após a aprovação da equipe o mesmo esta apto para envio a produção.

    Neste ambiente não é necessário nenhuma aprovação para que a action seja disparada. O ambiente esta conectado com a branch staging, esta que possuí algumas validações e aprovações necessárias sendo:

    1. É necessário um pull-request, ou seja, não é possível realizar um commit diretamente nela.
    2. No pull-request é acionada a action Continuous Integration e a mesma deve ser concluída com sucesso para que o merge nesta branch seja possível.
  2. production: Produção, onde os clientes utilizam para acessar o portal.

    Neste Ambiente é necessário uma aprovação de algum membro da equipe admin ou website. O ambiente esta conectado com a branch master, esta que possuí algumas validações e aprovações necessárias sendo:

    1. É necessário um pull-request, ou seja, não é possível realizar um commit diretamente nela. Este pull-request deve ser aprovado por no mínimo um membro da equipe.
    2. No pull-request é acionada a action Continuous Integration e a mesma deve ser concluída com sucesso para que o merge nesta branch seja possível.
    3. O ambiente de staging deve ter sido realizado com sucesso para que seja possível o merge do pull-request.
    4. O push nesta branch está restringido apenas para usuários que tenham a permissão de administrador ou colaborador da organização.

A action é acionada quando ocorre um push para uma destas duas branches que estão conectadas aos ambientes.

Imagem: Diagrama de fluxo: Action CD

Clone this wiki locally