From b4f4bbe847d0d6c05103b10fb1efaca8399ee56a Mon Sep 17 00:00:00 2001 From: Nandini Jhanwar Date: Tue, 10 Jan 2023 18:31:51 +0530 Subject: [PATCH] Initialized mina --- config/deploy.rb | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 config/deploy.rb diff --git a/config/deploy.rb b/config/deploy.rb new file mode 100644 index 0000000..6b8a25c --- /dev/null +++ b/config/deploy.rb @@ -0,0 +1,76 @@ +require 'mina/rails' +require 'mina/git' +# require 'mina/rbenv' # for rbenv support. (https://rbenv.org) +# require 'mina/rvm' # for rvm support. (https://rvm.io) + +# Basic settings: +# domain - The hostname to SSH to. +# deploy_to - Path to deploy into. +# repository - Git repo to clone from. (needed by mina/git) +# branch - Branch name to deploy. (needed by mina/git) + +set :application_name, 'foobar' +set :domain, 'foobar.com' +set :deploy_to, '/var/www/foobar.com' +set :repository, 'git://...' +set :branch, 'master' + +# Optional settings: +# set :user, 'foobar' # Username in the server to SSH to. +# set :port, '30000' # SSH port number. +# set :forward_agent, true # SSH forward_agent. + +# Shared dirs and files will be symlinked into the app-folder by the 'deploy:link_shared_paths' step. +# Some plugins already add folders to shared_dirs like `mina/rails` add `public/assets`, `vendor/bundle` and many more +# run `mina -d` to see all folders and files already included in `shared_dirs` and `shared_files` +# set :shared_dirs, fetch(:shared_dirs, []).push('public/assets') +# set :shared_files, fetch(:shared_files, []).push('config/database.yml', 'config/secrets.yml') + +# This task is the environment that is loaded for all remote run commands, such as +# `mina deploy` or `mina rake`. +task :remote_environment do + # If you're using rbenv, use this to load the rbenv environment. + # Be sure to commit your .ruby-version or .rbenv-version to your repository. + # invoke :'rbenv:load' + + # For those using RVM, use this to load an RVM version@gemset. + # invoke :'rvm:use', 'ruby-2.5.3@default' +end + +# Put any custom commands you need to run at setup +# All paths in `shared_dirs` and `shared_paths` will be created on their own. +task :setup do + # command %{rbenv install 2.5.3 --skip-existing} + # command %{rvm install ruby-2.5.3} + # command %{gem install bundler} +end + +desc "Deploys the current version to the server." +task :deploy do + # uncomment this line to make sure you pushed your local branch to the remote origin + # invoke :'git:ensure_pushed' + deploy do + # Put things that will set up an empty directory into a fully set-up + # instance of your project. + invoke :'git:clone' + invoke :'deploy:link_shared_paths' + invoke :'bundle:install' + invoke :'rails:db_migrate' + invoke :'rails:assets_precompile' + invoke :'deploy:cleanup' + + on :launch do + in_path(fetch(:current_path)) do + command %{mkdir -p tmp/} + command %{touch tmp/restart.txt} + end + end + end + + # you can use `run :local` to run tasks on local machine before of after the deploy scripts + # run(:local){ say 'done' } +end + +# For help in making your deploy script, see the Mina documentation: +# +# - https://github.com/mina-deploy/mina/tree/master/docs