Diferencia entre revisiones de «Travis calidad de código»
De Wiki de EGC
Línea 1: | Línea 1: | ||
Para este objetivo vamos a usar varias herramientas | Para este objetivo vamos a usar varias herramientas | ||
+ | |||
+ | |||
+ | == Codacy == | ||
*https://app.codacy.com | *https://app.codacy.com | ||
Línea 20: | Línea 23: | ||
[[Archivo:codacy_success.png|500px]]] | [[Archivo:codacy_success.png|500px]]] | ||
+ | |||
+ | |||
+ | == Flake8 == | ||
+ | |||
+ | Probemos ahora otros tipos de métricas con flake8 (http://flake8.pycqa.org/en/latest/) | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="yaml"> | ||
+ | dist: xenial | ||
+ | |||
+ | services: | ||
+ | - postgresql | ||
+ | addons: | ||
+ | postgresql: "9.4" | ||
+ | before_script: | ||
+ | - psql -U postgres -c "create user decide password 'decide'" | ||
+ | - psql -U postgres -c "create database test_decide owner decide" | ||
+ | - psql -U postgres -c "ALTER USER decide CREATEDB" | ||
+ | language: python | ||
+ | python: | ||
+ | - "3.6" | ||
+ | install: | ||
+ | - pip install -r requirements.txt | ||
+ | - pip install codacy-coverage | ||
+ | - pip install flake8 | ||
+ | script: | ||
+ | - cd decide | ||
+ | - coverage run --branch --source=. ./manage.py test --keepdb --with-xunit | ||
+ | - coverage xml | ||
+ | - python-codacy-coverage -r coverage.xml | ||
+ | - flake8 . | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | No nos olvidemos de comitear para ver los resultados | ||
+ | |||
+ | [[Archivo:flake8_success.png|500px]]] |
Revisión actual del 13:18 26 oct 2019
Para este objetivo vamos a usar varias herramientas
Codacy
Lo primero que vamos a hacer es analizar el código de nuestra app para detectar posibles mejoras:
No obstante, cuando vayamos a integrarlo con Travis, observaremos que obtenemos un error de "CODACY_PROJECT_TOKEN missing"
Primero, deberemos obtener la API key del proyecto:
Para solucionar este error debemos editar las opciones del build de nuestro repositorio
Trás realizar esto, ya podemos ver que el build termina correctamente y que envia los datos a codacy:
Flake8
Probemos ahora otros tipos de métricas con flake8 (http://flake8.pycqa.org/en/latest/)
dist: xenial
services:
- postgresql
addons:
postgresql: "9.4"
before_script:
- psql -U postgres -c "create user decide password 'decide'"
- psql -U postgres -c "create database test_decide owner decide"
- psql -U postgres -c "ALTER USER decide CREATEDB"
language: python
python:
- "3.6"
install:
- pip install -r requirements.txt
- pip install codacy-coverage
- pip install flake8
script:
- cd decide
- coverage run --branch --source=. ./manage.py test --keepdb --with-xunit
- coverage xml
- python-codacy-coverage -r coverage.xml
- flake8 .
No nos olvidemos de comitear para ver los resultados