V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

mina

Herramienta de automatización de despliegue [deployment] como clonar repositorios, instalar dependencias, reiniciar servicios, etc. escrita en Ruby y diseñada para simplificar y agilizar la implementación de aplicaciones en servidores remotos. Su principal característica es que genera scripts Bash a partir de tareas definidas en Ruby, y luego ejecuta esos scripts en el servidor remoto a través de una única sesión SSH, lo que optimiza el rendimiento y reduce la sobrecarga de múltiples conexiones SSH.

Crear un archivo en el directorio del proyecto donde se define la configuración básica y las tareas de despliegue. Un ejemplo mínimo:

$ nano config/deploy.rb

require 'mina/bundler'

require 'mina/rails'

require 'mina/git'

set :domain, 'tuservidor.com'

set :deploy_to, '/var/www/mi_app'

set :repository, 'git@github.com:usuario/mi_app.git'

set :branch, 'main'

task :setup do

command %[mkdir -p "#{deploy_to}/shared/log"]

command %[mkdir -p "#{deploy_to}/shared/config"]
command %[touch "#{deploy_to}/shared/config/database.yml"]

end

task :deploy do

deploy do

invoke :'git:clone'
invoke :'deploy:link_shared_paths'

invoke :'bundle:install'

invoke :'rails:db_migrate'

invoke :'rails:assets_precompile'

invoke :'deploy:cleanup'

to :launch do

invoke :'puma:restart'
end
end

end

$ mina setup
onfigurar el servidor por primera vez
$ mina deploy
desplegar tareas

1.-

Ejemplo de tareas personalizadas

Definir tus propias tareas. Por ejemplo, para reiniciar un servicio de Nginx:

task :restart_nginx do
command %[sudo systemctl restart nginx]
end

Y luego invocarla desde otra tarea:

task :deploy do

deploy do
# ... otras tareas ...
invoke :restart_nginx
end
end
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
4200 entradas - Acerca del Tractatus
La Pipa Plena 2025