Comandos de archivos Make#

Referencia completa para el desarrollo de comandos Makefile.

Descripción general#

Construbot incluye un Makefile con convenientes comandos de desarrollo.

Ubicación: /Makefile (raíz del proyecto)

Comandos acoplables#

Desarrollo#

hacer desarrollador

Iniciar entorno de desarrollo

make dev
# Starts: redis, postgres, mailhog, django
# Uses: local settings, DEBUG=True

hacer buildev

Construir e iniciar un entorno de desarrollo.

make buildev
# Builds images, starts services, runs migrations

hacer buildprod

Construir un entorno de producción

make buildprod
# Uses: production settings, DEBUG=False

Gestión de contenedores#

hacer abajo

Detener todos los contenedores

make down

hacer limpio

Retire todos los contenedores

make clean

hacer cleandb

Eliminar contenedores y volúmenes de bases de datos

make cleandb
# WARNING: Deletes all data!

hacer limpio

Eliminar todo (contenedores, volúmenes, imágenes)

make cleanhard
# WARNING: Complete cleanup!

Comandos de base de datos#

realizar migraciones

Crear y aplicar migraciones

make migrations
# Runs: makemigrations && migrate

hacer superusuario

Crear superusuario Django

make superuser
# Prompts for email and password

hacer poblar

Llenar la base de datos con datos de prueba

make poblar
# Runs: python manage.py poblar

Herramientas de desarrollo#

hacer concha

Abrir el shell de Django

make shell
# Runs: python manage.py shell

crear servidor de ejecución

Ejecutar servidor sin Docker

make runserver
# Sets USE_DOCKER=no
# Runs: python manage.py runserver

Comandos de prueba#

hacer prueba

Ejecute un conjunto de pruebas completo con cobertura

make test
# Runs: pytest with coverage report

hacer prueba local

Ejecute pruebas localmente (sin Docker)

make localtest

hacer prueba de advertencia

Ejecute pruebas con las advertencias habilitadas

make warningtest

actualizar

Ejecutar pruebas etiquetadas como “actuales”

make current
# Runs: pytest -m current

Gestión de requisitos#

hacer mkenv

Sincronizar requisitos locales

make mkenv
# Uses: pip-sync requirements/local.txt

hacer pipcompile

Compilar archivos de requisitos

make pipcompile
# Compiles: base.in, local.in, test.in

Comandos de documentación#

Estos comandos están en docs/Makefile:

hacer html

Construir documentación en inglés

cd docs
make html
# Output: _build/html/

hacer html-es

Construir documentación en español

cd docs
make html-es
# Output: _build/html/es/

hacer html-todo

Construye inglés y español.

cd docs
make html-all

realizar traducciones actualizadas

Actualizar archivos de traducción

cd docs
make update-translations
# Extracts strings, updates .po files

hacer livehtml

Documentación de reconstrucción automática

cd docs
make livehtml
# Starts server at http://127.0.0.1:8000

Flujos de trabajo comunes#

Nuevo comienzo#

make buildev
make superuser
make poblar

Desarrollo diario#

make dev         # Start environment
make shell       # Django shell
make test        # Run tests
make down        # Stop when done

Restablecer base de datos#

make cleandb
make buildev
make superuser
make poblar

Actualizar dependencias#

# Edit requirements/*.in files
make pipcompile
make buildev  # Rebuild with new deps

Solución de problemas#

Comando no encontrado:

Asegúrate de estar en el directorio raíz del proyecto.

Permiso denegado:

Ejecute con sudo o corrija los permisos de Docker:

sudo usermod -aG docker $USER
newgrp docker

Puerto ya en uso:

Detenga los servicios conflictivos:

lsof -ti:8000 | xargs kill -9

Ver también#