66 lines
2.1 KiB
Ruby
66 lines
2.1 KiB
Ruby
require 'mina/bundler'
|
|
require 'mina/git'
|
|
require 'mina/rvm'
|
|
|
|
set :user, 'lightsaber'
|
|
set :domain, 'lightsaber.captnemo.in'
|
|
set :deploy_to, '/home/lightsaber/lightsaber'
|
|
set :repository, 'https://github.com/captn3m0/lightsaber.git'
|
|
set :branch, 'master'
|
|
set :identity_file, 'lightsaber-deploy'
|
|
set :rvm_path, "$HOME/.rvm/scripts/rvm"
|
|
|
|
# For system-wide RVM install.
|
|
# set :rvm_path, '/usr/local/rvm/bin/rvm'
|
|
|
|
# Manually create these paths in shared/ (eg: shared/config/database.yml) in your server.
|
|
# They will be linked in the 'deploy:link_shared_paths' step.
|
|
# set :shared_paths, ['config/database.yml', 'config/secrets.yml', 'log']
|
|
|
|
# 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.
|
|
|
|
# This task is the environment that is loaded for most commands, such as
|
|
# `mina deploy` or `mina rake`.
|
|
task :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.
|
|
queue! "whoami"
|
|
invoke :'rvm:use[default]'
|
|
|
|
# For those using RVM, use this to load an RVM version@gemset.
|
|
# invoke :'rvm:use[ruby-1.9.3-p125@default]'
|
|
end
|
|
|
|
# Put any custom mkdir's in here for when `mina setup` is ran.
|
|
# For Rails apps, we'll make some of the shared paths that are shared between
|
|
# all releases.
|
|
task :setup => :environment do
|
|
|
|
end
|
|
|
|
desc "Deploys the current version to the server."
|
|
task :deploy => :environment do
|
|
to :before_hook do
|
|
# Don't try to decrypt it locally
|
|
if ENV['CI'] === 'true'
|
|
queue "openssl aes-256-cbc -K $encrypted_82a37ece568a_key -iv $encrypted_82a37ece568a_iv -in deploy-rsa -out lightsaber-deploy -d"
|
|
end
|
|
end
|
|
deploy do
|
|
# Put things that will set up an empty directory into a fully set-up
|
|
# instance of your project.
|
|
invoke :'git:clone'
|
|
invoke :'bundle:install'
|
|
|
|
to :launch do
|
|
if File.exists?('thin.pid')
|
|
queue "bundle exec thin -C config.yml restart"
|
|
else
|
|
queue "bundle exec thin -C config.yml start"
|
|
end
|
|
end
|
|
end
|
|
end |