Last active
December 21, 2015 04:29
-
-
Save mwlang/6250075 to your computer and use it in GitHub Desktop.
Cap deploy issue
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require "bundler/capistrano" | |
| require 'rvm/capistrano' | |
| set :rvm_ruby_string, '2.0.0' | |
| set :rvm_type, :system | |
| set :application, "demo" | |
| set :server_address, "rackspace" | |
| set :use_sudo, false | |
| set :use_monit, false | |
| set :domain, "cybrains.net" | |
| set :user, "deploy" | |
| set :group, "deploy" | |
| set :rails_env, "production" | |
| # shared paths | |
| set :site_path, "/home/deploy/sites/n2b" | |
| set :deploy_to, "#{site_path}/application/#{application}" | |
| set :shared_config_path, "#{shared_path}/config" | |
| # Configuration | |
| set :scm, :git | |
| set :repository, "git@rackspace.cybrains.net:n2b-demo.git" | |
| # allow local keys instead of server's keys | |
| # SEE: https://help.github.com/articles/using-ssh-agent-forwarding | |
| # allow git password prompts (not needed with forward_agent "true") | |
| ssh_options[:forward_agent] = true | |
| default_run_options[:pty] = false | |
| set :deploy_via, :remote_cache | |
| # Servers | |
| role :app, server_address | |
| role :web, server_address | |
| role :db, server_address, :primary => true | |
| before "deploy:assets:precompile", "deploy:copy_configs" | |
| before "bundle:install", "deploy:ruby_version" | |
| # Overrides | |
| namespace :deploy do | |
| desc "copies the saved config files" | |
| task :copy_configs, :roles => :app do | |
| # Copy config files to latest release | |
| run "cp #{shared_config_path}/* #{release_path}/config/" | |
| end | |
| end | |
| ################################## | |
| ### Passenger Deploy Overrides ### | |
| ################################## | |
| namespace :deploy do | |
| desc "show ruby version" | |
| task :ruby_version do | |
| puts '*' * 40 | |
| puts capture("ruby --version").strip | |
| puts '*' * 40 | |
| end | |
| desc "Restarting mod_rails with restart.txt" | |
| task :restart, :roles => :app, :except => { :no_release => true } do | |
| run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" | |
| end | |
| [:start, :stop].each do |t| | |
| desc "#{t} task is a no-op with mod_rails" | |
| task t, :roles => :app do ; end | |
| end | |
| end | |
| ################################## | |
| ### MySQL automatic backups ### | |
| ################################## | |
| set :backup_db_path, "#{shared_path}/backups" | |
| def remote_file_exists?(full_path) | |
| 'true' == capture("if [ -e #{full_path} ]; then echo 'true'; fi").strip | |
| end | |
| namespace :db do | |
| desc 'Backup database before deploy' | |
| task :backup, :roles => :db, :only => {:primary => true} do | |
| run "mkdir -p #{backup_db_path}" # Create a backup folder unless exists | |
| # Check if we've got database config | |
| if remote_file_exists?("#{current_path}/config/database.yml") | |
| text = capture("cat #{current_path}/config/database.yml") | |
| config = YAML::load(text)[rails_env] | |
| filename = "#{backup_db_path}/#{config['database']}_#{Time.now.strftime("%m%d%Y%H%I%S")}.sql.gz" | |
| run "mysqldump -u #{config['username']} -p #{config['database']} | gzip --best > #{filename}" do |ch, stream, out| | |
| ch.send_data "#{config['password']}\n" if out =~ /^Enter password:/ | |
| end | |
| else | |
| logger.debug("[Backup] No configuration file was found.") | |
| end | |
| end | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 09:38:32:demo >> cap deploy | |
| triggering load callbacks | |
| * 2013-08-16 09:38:41 executing `deploy' | |
| * 2013-08-16 09:38:41 executing `deploy:update' | |
| ** transaction: start | |
| * 2013-08-16 09:38:41 executing `deploy:update_code' | |
| updating the cached checkout on all servers | |
| executing locally: "git ls-remote git@rackspace.cybrains.net:n2b-demo.git HEAD" | |
| command finished in 1795ms | |
| * executing "if [ -d /home/deploy/sites/n2b/application/demo/shared/cached-copy ]; then cd /home/deploy/sites/n2b/application/demo/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard b48fd42788eb54a7deb02d70c760573e949bc04d && git clean -q -d -x -f; else git clone -q git@rackspace.cybrains.net:n2b-demo.git /home/deploy/sites/n2b/application/demo/shared/cached-copy && cd /home/deploy/sites/n2b/application/demo/shared/cached-copy && git checkout -q -b deploy b48fd42788eb54a7deb02d70c760573e949bc04d; fi" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 4488ms | |
| copying the cached version to /home/deploy/sites/n2b/application/demo/releases/20130816133848 | |
| * executing "cp -RPp /home/deploy/sites/n2b/application/demo/shared/cached-copy /home/deploy/sites/n2b/application/demo/releases/20130816133848 && (echo b48fd42788eb54a7deb02d70c760573e949bc04d > /home/deploy/sites/n2b/application/demo/releases/20130816133848/REVISION)" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1178ms | |
| * 2013-08-16 09:38:49 executing `deploy:finalize_update' | |
| triggering before callbacks for `deploy:finalize_update' | |
| * 2013-08-16 09:38:49 executing `deploy:assets:symlink' | |
| * executing "rm -rf /home/deploy/sites/n2b/application/demo/releases/20130816133848/public/assets && mkdir -p /home/deploy/sites/n2b/application/demo/releases/20130816133848/public && mkdir -p /home/deploy/sites/n2b/application/demo/shared/assets && ln -s /home/deploy/sites/n2b/application/demo/shared/assets /home/deploy/sites/n2b/application/demo/releases/20130816133848/public/assets" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1236ms | |
| * 2013-08-16 09:38:51 executing `bundle:install' | |
| triggering before callbacks for `bundle:install' | |
| * 2013-08-16 09:38:51 executing `deploy:ruby_version' | |
| **************************************** | |
| * executing "ruby --version" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1023ms | |
| ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] | |
| **************************************** | |
| * executing "cd /home/deploy/sites/n2b/application/demo/releases/20130816133848 && bundle install --gemfile /home/deploy/sites/n2b/application/demo/releases/20130816133848/Gemfile --path /home/deploy/sites/n2b/application/demo/shared/bundle --deployment --quiet --without development test" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 2023ms | |
| * executing "chmod -R -- g+w /home/deploy/sites/n2b/application/demo/releases/20130816133848 && rm -rf -- /home/deploy/sites/n2b/application/demo/releases/20130816133848/public/system && mkdir -p -- /home/deploy/sites/n2b/application/demo/releases/20130816133848/public/ && ln -s -- /home/deploy/sites/n2b/application/demo/shared/system /home/deploy/sites/n2b/application/demo/releases/20130816133848/public/system && rm -rf -- /home/deploy/sites/n2b/application/demo/releases/20130816133848/log && ln -s -- /home/deploy/sites/n2b/application/demo/shared/log /home/deploy/sites/n2b/application/demo/releases/20130816133848/log && rm -rf -- /home/deploy/sites/n2b/application/demo/releases/20130816133848/tmp/pids && mkdir -p -- /home/deploy/sites/n2b/application/demo/releases/20130816133848/tmp/ && ln -s -- /home/deploy/sites/n2b/application/demo/shared/pids /home/deploy/sites/n2b/application/demo/releases/20130816133848/tmp/pids" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1143ms | |
| triggering after callbacks for `deploy:update_code' | |
| * 2013-08-16 09:38:55 executing `deploy:assets:precompile' | |
| triggering before callbacks for `deploy:assets:precompile' | |
| * 2013-08-16 09:38:55 executing `deploy:assets:update_asset_mtimes' | |
| * executing "[ -e /home/deploy/sites/n2b/application/demo/shared/assets/manifest* ] && cat /home/deploy/sites/n2b/application/demo/shared/assets/manifest* || echo" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1044ms | |
| ** Updating mtimes for ~64 assets... | |
| servers: ["rackspace"] | |
| ** scp upload #<StringIO:0x007f9c7482d8a0> -> /home/deploy/sites/n2b/application/demo/TOUCH_ASSETS | |
| [rackspace] /home/deploy/sites/n2b/application/demo/TOUCH_ASSETS | |
| * scp upload complete | |
| * executing "cat /home/deploy/sites/n2b/application/demo/TOUCH_ASSETS | while read asset; do touch -c -- \"$asset\"; done && rm -f -- /home/deploy/sites/n2b/application/demo/TOUCH_ASSETS" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1240ms | |
| * 2013-08-16 09:38:58 executing `deploy:copy_configs' | |
| * executing "cp /home/deploy/sites/n2b/application/demo/shared/config/* /home/deploy/sites/n2b/application/demo/releases/20130816133848/config/" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 999ms | |
| * executing "cd -- /home/deploy/sites/n2b/application/demo/releases/20130816133848 && RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 10589ms | |
| * executing "ls -1 /home/deploy/sites/n2b/application/demo/shared/assets/manifest* | wc -l" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1020ms | |
| * executing "ls /home/deploy/sites/n2b/application/demo/shared/assets/manifest*" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1010ms | |
| * executing "[ -e /home/deploy/sites/n2b/application/demo/shared/assets/manifest-1a0ef22a6d5592ac600ac4a660008092.json ] || mv -- /home/deploy/sites/n2b/application/demo/shared/assets/manifest* /home/deploy/sites/n2b/application/demo/shared/assets/manifest-1a0ef22a6d5592ac600ac4a660008092.json" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1051ms | |
| * executing "ls -x /home/deploy/sites/n2b/application/demo/releases" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1144ms | |
| * executing "cp -- /home/deploy/sites/n2b/application/demo/shared/assets/manifest-1a0ef22a6d5592ac600ac4a660008092.json /home/deploy/sites/n2b/application/demo/releases/shared/assets_manifest.json" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| *** [err :: rackspace] cp: | |
| *** [err :: rackspace] accessing `/home/deploy/sites/n2b/application/demo/releases/shared/assets_manifest.json' | |
| *** [err :: rackspace] : Not a directory | |
| *** [err :: rackspace] | |
| command finished in 1041ms | |
| *** [deploy:update_code] rolling back | |
| * executing "rm -rf /home/deploy/sites/n2b/application/demo/releases/20130816133848; true" | |
| servers: ["rackspace"] | |
| [rackspace] executing command | |
| command finished in 1092ms |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment