require 'bundler/setup' require 'yaml' require 'digest' DOCKER_COMPOSE='docker-compose.yml' desc 'entorno vivo' namespace :live do task :up do compose('up', '--build', '-d', compose: DOCKER_COMPOSE) end desc 'monitorear salida' task :tail do compose('logs', '-f', 'django', compose: DOCKER_COMPOSE) end desc 'monitorear salida' task :tail_end do compose('logs', '-f', '-n 50', 'django', compose: DOCKER_COMPOSE) end desc 'iniciar entorno' task :start do compose('start', compose: DOCKER_COMPOSE) end desc 'bajar entorno' task :down do compose('down', compose: DOCKER_COMPOSE) end desc 'detener entorno' task :stop do compose('stop', compose: DOCKER_COMPOSE) end desc 'eliminar entorno' task :del do compose('down', '-v', '--rmi', 'all', compose: DOCKER_COMPOSE) end desc 'reiniciar entorno' task :restart do compose('restart', compose: DOCKER_COMPOSE) end desc 'detener entorno' task :stop do compose('stop', compose: DOCKER_COMPOSE) end desc 'terminal' task :sh do compose('exec', 'django', 'bash') end end desc 'Desarrollo' namespace :dev do desc 'correr test de django' task :test do compose('exec', 'django', 'python', '/app/manage.py', 'test', '/app/don_confiao') end desc 'crear migraciones' task :makemigrations do compose('exec', 'django', 'python', '/app/manage.py', 'makemigrations') end desc 'aplicar migraciones' task :migrate do compose('exec', 'django', 'python', '/app/manage.py', 'migrate') end end def compose(*arg, compose: DOCKER_COMPOSE) sh "docker compose -f #{compose} #{arg.join(' ')}" end