refactor: Deploy System
This commit is contained in:
95
Rakefile
95
Rakefile
@@ -1,7 +1,14 @@
|
||||
require 'yaml'
|
||||
require 'digest'
|
||||
|
||||
DOCKER_COMPOSE='compose.test.yml'
|
||||
DOCKER_COMPOSE_TEST='docker-compose.test.yml'
|
||||
ENV_FILE_DEV='.env.development'
|
||||
|
||||
DOCKER_COMOPSE_LIVE='docker-compose.live.yml'
|
||||
ENV_FILE_LIVE='.env.development'
|
||||
|
||||
DOCKER_COMPOSE_DEPLOY='docker-compose.prod.yml'
|
||||
ENV_FILE_DEPLOY='.env.production'
|
||||
|
||||
desc 'iniciar entorno'
|
||||
task :up do
|
||||
@@ -21,7 +28,6 @@ end
|
||||
|
||||
desc 'iterar'
|
||||
task :tdd, [:name] do |_, args|
|
||||
|
||||
refresh_cache
|
||||
test_dir = ''
|
||||
if args.name
|
||||
@@ -32,7 +38,6 @@ task :tdd, [:name] do |_, args|
|
||||
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'
|
||||
@@ -45,32 +50,32 @@ namespace :live do
|
||||
|
||||
desc 'iniciar entorno'
|
||||
task :up do
|
||||
compose('up', '--build', '-d', compose: 'compose.live.yml')
|
||||
compose('up', '--build', '-d', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'monitorear salida'
|
||||
task :tail do
|
||||
compose('logs', '-f', 'live', '-n', '50', compose: 'compose.live.yml')
|
||||
compose('logs', '-f', 'live', '-n', '50', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'detener entorno'
|
||||
task :down do
|
||||
compose('down', compose: 'compose.live.yml')
|
||||
compose('down', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'eliminar entorno'
|
||||
task :del do
|
||||
compose('down', '-v', '--rmi', 'all', compose: 'compose.live.yml')
|
||||
compose('down', '-v', '--rmi', 'all', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'detener entorno'
|
||||
task :stop do
|
||||
compose('stop', compose: 'compose.live.yml')
|
||||
compose('stop', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'reiniciar entorno'
|
||||
task :restart do
|
||||
compose('restart', compose: 'compose.live.yml')
|
||||
compose('restart', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'terminal'
|
||||
@@ -80,25 +85,85 @@ namespace :live do
|
||||
|
||||
desc 'monitorear salida'
|
||||
task :tail_end do
|
||||
compose('logs', '-f', '-n 50', 'live', compose: 'compose.live.yml')
|
||||
compose('logs', '-f', '-n 50', 'live', env_file: ENV_FILE_LIVE, compose: DOCKER_COMPOSE_LIVE)
|
||||
end
|
||||
|
||||
desc 'populate data'
|
||||
task :populate, [:database] do |_, args|
|
||||
if args.database
|
||||
compose('stop', "live", compose: "compose.live.yml")
|
||||
compose('stop', "live", env_file: ENV_FILE_DEV, compose: DOCKER_COMPOSE_LIVE)
|
||||
compose('exec', '-it', '--user', 'postgres', 'db', "bash -c 'dropdb -U tryton #{args.database}'")
|
||||
compose('exec', '-it', '--user', 'postgres', 'db', "bash -c 'createdb -U tryton #{args.database}'")
|
||||
compose('restart', "live", compose: "compose.live.yml")
|
||||
compose('restart', "live", env_file: ENV_FILE_DEV, compose: DOCKER_COMPOSE_LIVE)
|
||||
sleep(40)
|
||||
compose('exec', 'live', "bash -c 'python3 demo/populate_scripts/__main__.py -c .dev/trytond.cfg -d #{args.database}'")
|
||||
compose('restart', 'live', compose: "compose.live.yml")
|
||||
compose('restart', 'live', env_file: ENV_FILE_DEV, compose: DOCKER_COMPOSE_LIVE)
|
||||
else
|
||||
puts "Falta el nombre de la base de datos"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'produccion'
|
||||
namespace :deploy do
|
||||
|
||||
desc 'iniciar entorno'
|
||||
task :up do
|
||||
compose('up', '--build', '-d', env_file: ENV_FILE_DEPLOY, compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'monitorear salida'
|
||||
task :tail do
|
||||
compose('logs', env_file: ENV_FILE_DEPLOY, compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'detener entorno'
|
||||
task :down do
|
||||
compose('down', env_file: ENV_FILE_DEPLOY, compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'eliminar entorno'
|
||||
task :del do
|
||||
compose('down', '-v', '--rmi', 'all', env_file: ENV_FILE_DEPLOY ,compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'reiniciar entorno'
|
||||
task :restart do
|
||||
compose('restart', env_file: ENV_FILE_DEPLOY, compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'terminal-tryton'
|
||||
task :sh_tryton do
|
||||
compose('exec', '--user', 'root', 'tryton', '/entrypoint.sh', 'bash', compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'terminal-worker'
|
||||
task :sh_worker do
|
||||
compose('exec', '--user', 'root', 'tryton_worker', '/entrypoint.sh', 'bash', compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'terminal-cron'
|
||||
task :sh_cron do
|
||||
compose('exec', '--user', 'root', 'tryton_cron', '/entrypoint.sh', 'bash', compose: DOCKER_COMPOSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'terminal-db'
|
||||
task :sh_db do
|
||||
compose('exec', '--user', 'postgres', 'db', 'bash', compose: DOCKER_COMOPSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'terminal-nginx'
|
||||
task :sh_nginx do
|
||||
compose('exec', 'nginx', 'bash', compose: DOCKER_COMOPSE_DEPLOY)
|
||||
end
|
||||
|
||||
desc 'top'
|
||||
task :top do
|
||||
compose('top', compose: DOCKER_COMOPSE_DEPLOY)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
desc 'Git - Submodules'
|
||||
namespace :git do
|
||||
|
||||
@@ -124,8 +189,8 @@ namespace :git do
|
||||
end
|
||||
end
|
||||
|
||||
def compose(*arg, compose: DOCKER_COMPOSE)
|
||||
sh "docker compose -f #{compose} #{arg.join(' ')}"
|
||||
def compose(*arg, env_file: ENV_FILE_DEV, compose: DOCKER_COMPOSE_TEST)
|
||||
sh "docker compose --env-file #{env_file} -f #{compose} #{arg.join(' ')}"
|
||||
end
|
||||
|
||||
def refresh_cache
|
||||
|
||||
Reference in New Issue
Block a user