Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CI e automação de deploys em bibliotecas Python

CI e automação de deploys em bibliotecas Python

DevOps Extreme 2021

Avatar for Camila Maia

Camila Maia

August 13, 2021
Tweet

More Decks by Camila Maia

Other Decks in Programming

Transcript

  1. CI e automação de deploys em bibliotecas Python Para deixar

    qualquer DevOps orgulhoso ⭐ DevOps Extreme - Ago 2021 Camila Maia
  2. Quem sou eu? - Desenvolvedora Backend - 10+ anos xp

    👵 - Python 🐍 e Ruby 💎 - OpenSource e Comunidades ❤ - Organização de eventos: Pyjamas, EuroPython, Python Brasil….
  3. A biblioteca • Biblioteca Python • Gerenciamento de pacotes e

    dependências via Poetry • Distribuída via PyPI e TestPyPI • Código no GitHub
  4. Integração Contínua: • Testes unitários + Cobertura de Testes •

    Lint: checagem de formatação do código, tipagem estática e formatação de mensagens de commit • Testes de integração Automação de deploys: • Merge no branch main: deploy no TestPyPI • Nova release: deploy no PyPI O objetivo
  5. • Framework de código aberto • Command line interface (CLI)

    • Escrito em Python Objetivos: 1. Fornecer Live Documentation 2. Possibilitar a implementação de Testes de Integração
  6. Makefile test: @pytest --cov=./scanapi --cov-report=xml black: @poetry run black -l

    80 --check . --exclude=.venv flake8: @poetry run flake8 --ignore=E501,W501,E231,W503 mypy: @poetry run mypy scanapi gitlint: @poetry run gitlint --ignore-stdin check: black flake8 mypy gitlint
  7. timestamp = `date -u +'%Y%m%d%H%M%S'` change-version: @poetry version `poetry version

    -s | cut -f-3 -d.`.dev$(timestamp) Makefile + Setup das Chaves