Naliia_Dev/Rakefile

102 lines
2.6 KiB
Ruby

require 'yaml'
require 'digest'
DOCKER_COMPOSE='compose.test.yml'
desc 'iniciar entorno'
task :up do
compose('up', '--build', '-d')
end
desc 'poblar entorno'
task :init => [:up] do
compose('exec', 'test.dev', 'pip3 install psycopg2 flake8')
compose('exec', 'test.dev', "bash .dev/install_module.sh")
end
desc 'terminal'
task :sh do
compose('exec', 'test.dev', 'bash')
end
desc 'iterar'
task :tdd, [:name] do |_, args|
refresh_cache
test_dir = ''
if args.name
test_dir = "modules/#{args.name}"
compose('exec', 'test.dev', "bash -c 'cd #{test_dir} && flake8'")
compose('exec', 'test.dev', "bash -c 'cd #{test_dir}/tests && python3 -m unittest'")
else
compose('exec', 'test.dev', "bash -c 'cd modules && flake8 *'")
compose('exec', 'test.dev', "bash -c 'python -m unittest discover -s modules'")
end
end
desc 'detener entorno'
task :down do
compose('down', '-vv')
end
desc 'entorno vivo'
namespace :live do
desc 'iniciar entorno'
task :up do
compose('up', '--build', '-d', compose: 'compose.live.yml')
end
desc 'monitorear salida'
task :tail do
compose('logs', '-f', 'live', compose: 'compose.live.yml')
end
desc 'detener entorno'
task :down do
compose('down', compose: 'compose.live.yml')
end
desc 'eliminar entorno'
task :del do
compose('down', '-v', '--rmi', 'all', compose: 'compose.live.yml')
end
desc 'reiniciar entorno'
task :restart do
compose('restart', compose: 'compose.live.yml')
end
desc 'terminal'
task :sh do
compose('exec', 'live', 'bash')
end
desc 'monitorear salida'
task :tail_end do
compose('logs', '-f', '-n 50', 'live.dev', compose: 'compose.live.yml')
end
desc 'populate data'
task :populate, [:database] do |_, args|
if args.database
compose('stop', "live.dev", compose: "compose.yml")
compose('exec', '-it', '--user', 'postgres', 'db.dev', "bash -c 'dropdb -U tryton #{args.database}'")
compose('exec', '-it', '--user', 'postgres', 'db.dev', "bash -c 'createdb -U tryton #{args.database}'")
compose('restart', "live.dev", compose: "compose.yml")
sleep(30)
# compose('exec', '--user', 'root', 'live.dev', "trytond-admin -d #{args.database} -m --all -vv --act", compose: 'compose.yml')
compose('exec', 'live.dev', "bash -c 'python3 demo/__main__.py -c .dev/trytond.cfg -d #{args.database}'")
compose('restart', 'live.dev', compose: "compose.yml")
else
puts "Falta el nomnbre de la base de datos"
end
end
end
def compose(*arg, compose: DOCKER_COMPOSE)
sh "docker-compose -f #{compose} #{arg.join(' ')}"
end