timpone
timpone

Reputation: 19929

Capistrano deployment problems with load 'deploy/assets'

I have a capistrano deployment script that is outputting the following:

  * executing `deploy:assets:precompile'
  * executing "cd /data/sites/app/releases/20120619023328 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
    servers: ["123.230.158.135"]
    [123.230.158.135] executing command
*** [err :: 123.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets
*** [err :: 173.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets
*** [err :: 173.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets
*** [err :: 173.230.158.135] mkdir -p /data/sites/app/releases/20120619023328/public/assets

This is isolated to: load 'deploy/assets'

but I'm not exactly sure what is going on here as the directory exists. If I comment out the load 'deploy/assets' the error goes away. I have moved around the location of this call but this doesn't seem to have an effect. Also, it seems as if everything gets deployed correctly but obviously, I don't want this error. Any ideas on how to rectify? Or where the code for load 'deploy/assets' exists?

thx

edit 1 is it possible that this is what is happening? Capistrano error with successfully copied files

and i should just ignore and writing this on stderror rather than stdout

Upvotes: 0

Views: 962

Answers (1)

Mohit Jain
Mohit Jain

Reputation: 43919

Try using this

  cap production deploy:cold

here is the script for it:

    set :stages, %w(production staging)     #various environments
    load "deploy/assets"                    #precompile all the css, js and images... before deployment..
    require "bundler/capistrano"            # install all the new missing plugins...
    require 'capistrano/ext/multistage'     # deploy on all the servers..
    require 'delayed/recipes'               # load this for delayed job..
    require "rvm/capistrano"                # if you are using rvm on your server..
    require './config/boot'           
    require 'airbrake/capistrano'           # using airbrake in your application for crash notifications..
    require 'thinking_sphinx/deploy/capistrano'  # using thnking sphinx in your application
    require 'whenever/capistrano'           # using whenever for cron jobs..

    before "deploy:update_code", "thinking_sphinx:stop" # stop the serch engine before updating the code..
    after "deploy:update_code", "thinking_sphinx:rebuild" #rebuild the search engine configure and start the search engine..

    set :delayed_job_args, "-n 2"            # number of delayed job workers 
    before "deploy:update_code",    "delayed_job:stop"  # stop the previous deployed job workers...
    after "deploy:start",   "delayed_job:start" #start the delayed job 
    after "deploy:restart", "delayed_job:restart" # restart it..

    after "deploy:update", "deploy:cleanup" #clean up temp files etc.

    set :rvm_ruby_string, '1.9.3'             # ruby version you are using...
    set :rvm_type, :user
    set :whenever_environment, defer { stage }  # whenever gem for cron jobs...

    server "xx.xx.xx.xx", :app, :web, :db, :primary => true #ip of the server

    set(:application) { "my_cool_project" }
    set (:deploy_to) { "/home/me/#{application}/#{stage}" }
    set :user, 'my_awesome_deployer'
    set :keep_releases, 3
    set :repository, "git_repo_url"
    set :use_sudo, false
    set :scm, :git
    default_run_options[:pty] = true
    ssh_options[:forward_agent] = false
    set :deploy_via, :remote_cache
    set :git_shallow_clone, 1
    set :git_enable_submodules, 1

    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

Upvotes: 1

Related Questions