Desafio de DevOps Engineer - EMD

Repositório de instrução para o desafio técnico para a vaga de Pessoa Engenheira DevOps no Escritório de Dados do Rio de Janeiro

Descrição do desafio

Neste repositório, você encontrará uma aplicação web desenvolvida em Flask. Sua tarefa consiste nos seguintes passos (realizá-los na ordem que julgar adequada e ir marcando os itens completos):

  • Modificar a aplicação para consumir uma variável de ambiente chamada NAME e, no lugar de "World", exibir o valor dessa variável.
  • Modificar o arquivo .gitignore para que seja adequado a uma aplicação Python.
  • Elaborar, implementar e reforçar o fluxo de desenvolvimento do repositório.
  • Consolidar boas práticas no repositório através de ferramentas de análise estática, hooks de pré-commit, etc. a seu critério.
  • Preparar a aplicação para que seja production-ready.
  • Criar arquivos e scripts para que a aplicação possa ser executada em um container.
  • Elaborar um modelo de desenvolvimento que permita a execução da aplicação em um ambiente de desenvolvimento local.
  • Construir pipelines de CI/CD para a aplicação utilizando GitHub Actions. Esse item possui forte relação com o fluxo de desenvolvimento, pois deve compreender o deployment em dois ambientes diferentes: homologação e produção. O deployment da aplicação deve ser realizado em um serviço serverless da Google Cloud Platform.
  • Documentar todo o processo, as pipelines e o fluxo de desenvolvimento do repositório, além de hospedar essa documentação em uma página do GitHub Pages.

O que iremos avaliar

  1. Completude: A solução proposta atende a todos os requisitos do desafio?
  2. Simplicidade: A solução proposta é simples e direta? É fácil de entender e trabalhar?
  3. Organização: A solução proposta é organizada e bem documentada? É fácil de navegar e encontrar o que se procura?
  4. Criatividade: A solução proposta é criativa? Apresenta uma abordagem inovadora para o problema proposto?
  5. Boas práticas: A solução proposta segue boas práticas de Python, Git, Docker, etc.?

Atenção

  • A solução desse desafio deve ser publicada em um fork deste repositório no GitHub.
  • O link do repositório deve ser enviado até às 23:59, horário de Brasília, do dia 26/julho/2023 (quarta-feira) para o e-mail utilizado para contato com o assunto "Desafio DevOps Engineer - EMD".
  • Você deve ser capaz de apresentar sua solução, explicando como a idealizou, caso seja aprovado(a) para a próxima etapa.

Links de referência / utilidades

Dúvidas?

Fale conosco pelo e-mail que foi utilizado para o envio desse desafio.