Skip to content

Instantly share code, notes, and snippets.

@tilthouse
Created July 22, 2011 21:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tilthouse/1100472 to your computer and use it in GitHub Desktop.
Save tilthouse/1100472 to your computer and use it in GitHub Desktop.
Capistrano RVM issues
$ cap -vv staging deploy
* executing `staging'
* executing `multistage:ensure'
* executing `deploy'
* executing `deploy:update'
** transaction: start
* executing `deploy:update_code'
* executing "if [ -d /var/www/onlineapp/staging/shared/cached-copy ]; then cd /var/www/onlineapp/staging/shared/cached-copy && git fetch -q origin && git reset -q --hard f01e070901b274fcb1024bc4a5f7f383eb1f07b8 && git submodule -q init && for mod in `git submodule status | awk '{ print $2 }'`; do git config -f .git/config submodule.${mod}.url `git config -f .gitmodules --get submodule.${mod}.url` && echo Synced $mod; done && git submodule -q sync && git submodule -q update && git clean -q -d -x -f; else git clone -q git@github.com:dzap/dingus.git /var/www/onlineapp/staging/shared/cached-copy && cd /var/www/onlineapp/staging/shared/cached-copy && git checkout -q -b deploy f01e070901b274fcb1024bc4a5f7f383eb1f07b8 && git submodule -q init && git submodule -q sync && git submodule -q update --recursive; fi"
** [dingus-staging.leaselabs.com :: out]
** $rvm_path (system_wide) does not exist.
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
** [dingus-staging.leaselabs.com :: out] /usr/local/bin/rvm: line 73: system_wide/scripts/rvm: No such file or directory
$:.unshift(File.expand_path('./lib', ENV['rvm_path'])) # Add RVM's lib directory to the load path.
default_run_options[:pty] = true # Must be set for the password prompt from git to work
set :stages, %w(production staging)
set :default_stage, "staging"
require 'capistrano/ext/multistage'
require "bundler/capistrano"
require "rvm/capistrano"
set :application, "onlineapp"
set :repository, "git@github.com:dzap/dingus.git"
set :rvm_ruby_string, '1.9.2@dingus'
set :rvm_type, :system_wide
set :rvm_bin_path, "/usr/local/bin"
set :scm, :git
set :deploy_via, :remote_cache
set :git_enable_submodules, 1
set :user, "dingus"
set :use_sudo, false
set (:deploy_to) { "/var/www/#{application}/#{stage}" }
set :postgres_user, "dingus"
set(:postgres_password) do
Capistrano::CLI.ui.ask "PostgreSQL password: "
end
set(:activemerchant_login) do
Capistrano::CLI.ui.ask "ActiveMerchant login: "
end
set(:activemerchant_password) do
Capistrano::CLI.ui.ask "ActiveMerchant password: "
end
desc "Create database.yml in shared/config"
after ("deploy:setup") do
buffer = <<-EOF
login: &login
adapter: postgresql
host: localhost
username: <%= postgres_user %>
password: <%= postgres_password %>
encoding: UTF8
staging:
database: <%= "#{application}_staging" %>
<<: *login
production:
database: <%= "#{application}_production" %>
<<: *login
EOF
database_configuration = ERB.new(buffer).result(binding)
run "mkdir -p #{deploy_to}/#{shared_dir}/config"
put database_configuration, "#{deploy_to}/#{shared_dir}/config/database.yml"
end
desc "Create activemerchant.yml in shared/config"
after ("deploy:setup") do
buffer = <<-EOF
#{stage}:
login: <%= activemerchant_login %>
password: <%= activemerchant_password %>
EOF
activemerchant_configuration = ERB.new(buffer).result(binding)
run "mkdir -p #{deploy_to}/#{shared_dir}/config"
put activemerchant_configuration, "#{deploy_to}/#{shared_dir}/config/activemerchant.yml"
end
desc "Link in the production database.yml, cache, and upload directory"
after ("deploy:update_code") do
run "ln -nfs #{deploy_to}/#{shared_dir}/config/database.yml #{release_path}/config/database.yml"
run "ln -nfs #{deploy_to}/#{shared_dir}/config/activemerchant.yml #{release_path}/config/activemerchant.yml"
run "ln -nfs #{deploy_to}/#{shared_dir}/uploads #{release_path}/public/uploads"
run "ln -nfs #{deploy_to}/#{shared_dir}/cache #{release_path}/public/cache"
end
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
end
namespace :db do
desc "Reset database by dumping schema, dropping it, loading schema, and reseeding"
task :reset do
run("cd #{deploy_to}/current && /usr/bin/env rake db:reset RAILS_ENV=#{rails_env}")
end
end
namespace :rake do
desc "Run a task on a remote server. Append: task=[rake task name to invoke]"
# run like: cap staging rake:invoke task=a_certain_task
task :invoke do
run("cd #{deploy_to}/current; /usr/bin/env rake #{ENV['task']} RAILS_ENV=#{rails_env}")
end
end
$ rvm info
ruby-1.9.2-p180@dingus:
system:
uname: "Darwin alex.local 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64"
bash: "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)"
zsh: "/bin/zsh => zsh 4.3.11 (i386-apple-darwin11.0)"
rvm:
version: "rvm 1.6.25 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"
ruby:
interpreter: "ruby"
version: "1.9.2p180"
date: "2011-02-18"
platform: "x86_64-darwin10.7.0"
patchlevel: "2011-02-18 revision 30909"
full_version: "ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]"
homes:
gem: "/Users/boster/.rvm/gems/ruby-1.9.2-p180@dingus"
ruby: "/Users/boster/.rvm/rubies/ruby-1.9.2-p180"
binaries:
ruby: "/Users/boster/.rvm/rubies/ruby-1.9.2-p180/bin/ruby"
irb: "/Users/boster/.rvm/rubies/ruby-1.9.2-p180/bin/irb"
gem: "/Users/boster/.rvm/rubies/ruby-1.9.2-p180/bin/gem"
rake: "/Users/boster/.rvm/gems/ruby-1.9.2-p180@dingus/bin/rake"
environment:
PATH: "/Users/boster/.rvm/gems/ruby-1.9.2-p180@dingus/bin:/Users/boster/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/boster/.rvm/rubies/ruby-1.9.2-p180/bin:/Users/boster/.rvm/bin:/usr/local/bin:/usr/local/git/bin:/Users/boster/Library/Scripts:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin:/usr/local/sbin:/Users/boster/Library/Haskell/bin"
GEM_HOME: "/Users/boster/.rvm/gems/ruby-1.9.2-p180@dingus"
GEM_PATH: "/Users/boster/.rvm/gems/ruby-1.9.2-p180@dingus:/Users/boster/.rvm/gems/ruby-1.9.2-p180@global"
MY_RUBY_HOME: "/Users/boster/.rvm/rubies/ruby-1.9.2-p180"
IRBRC: "/Users/boster/.rvm/rubies/ruby-1.9.2-p180/.irbrc"
RUBYOPT: ""
gemset: "dingus"
dingus@dingus:~$ rvm info
ruby-1.9.2-p136:
system:
uname: "Linux dingus 2.6.35.4-rscloud #8 SMP Mon Sep 20 15:54:33 UTC 2010 x86_64 GNU/Linux"
bash: "/bin/bash => GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)"
zsh: " => not installed"
rvm:
version: "rvm 1.2.7 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"
ruby:
interpreter: "ruby"
version: "1.9.2p136"
date: "2010-12-25"
platform: "x86_64-linux"
patchlevel: "2010-12-25 revision 30365"
full_version: "ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]"
homes:
gem: "/usr/local/rvm/gems/ruby-1.9.2-p136"
ruby: "/usr/local/rvm/rubies/ruby-1.9.2-p136"
binaries:
ruby: "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/ruby"
irb: "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/irb"
gem: "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/gem"
rake: "/usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake"
environment:
PATH: "/usr/local/rvm/gems/ruby-1.9.2-p136/bin:/usr/local/rvm/gems/ruby-1.9.2-p136@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p136/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin"
GEM_HOME: "/usr/local/rvm/gems/ruby-1.9.2-p136"
GEM_PATH: "/usr/local/rvm/gems/ruby-1.9.2-p136:/usr/local/rvm/gems/ruby-1.9.2-p136@global"
MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.2-p136"
IRBRC: "/usr/local/rvm/rubies/ruby-1.9.2-p136/.irbrc"
RUBYOPT: ""
gemset: ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment