Note that there are some explanatory texts on larger screens.

plurals
  1. POcapistrano permission denied error on cap:setup
    text
    copied!<p>Im trying to deploy a simple application with capistrano nginx and unicorn </p> <ul> <li><p>/srv/paintings.git ( initiated and pushed repo )</p></li> <li><p>/srv/paintings ( place where app should be installed )</p></li> </ul> <p><strong>My deploy.rb looks like</strong></p> <pre><code> # config/deploy.rb require "bundler/capistrano" set :scm, :git set :repository, "git@109.0.0.0.05:srv/paintings.git" set :branch, "origin/master" set :migrate_target, :current set :ssh_options, { :forward_agent =&gt; true } set :rails_env, "production" set :deploy_to, "/srv/paintings" set :normalize_asset_timestamps, false set :user, "root" set :group, "rvm" set :use_sudo, true role :web, "109.0.0.0.05" role :app, "109.0.0.0.05" role :db, "109.0.0.0.05", :primary =&gt; true set(:latest_release) { fetch(:current_path) } set(:release_path) { fetch(:current_path) } set(:current_release) { fetch(:current_path) } set(:current_revision) { capture("cd #{current_path}; git rev-parse --short HEAD").strip } set(:latest_revision) { capture("cd #{current_path}; git rev-parse --short HEAD").strip } set(:previous_revision) { capture("cd #{current_path}; git rev-parse --short HEAD@{1}").strip } default_environment["RAILS_ENV"] = 'production' default_run_options[:shell] = 'bash' namespace :deploy do desc "Deploy your application" task :default do update restart end desc "Setup your git-based deployment app" task :setup, :except =&gt; { :no_release =&gt; true } do dirs = [deploy_to, shared_path] dirs += shared_children.map { |d| File.join(shared_path, d) } run "#{try_sudo} mkdir -p #{dirs.join(' ')} &amp;&amp; #{try_sudo} chmod g+w #{dirs.join(' ')}" run "git clone #{repository} #{current_path}" end task :cold do update migrate end task :update do transaction do update_code end end desc "Update the deployed code." task :update_code, :except =&gt; { :no_release =&gt; true } do run "cd #{current_path}; git fetch origin; git reset --hard #{branch}" finalize_update end desc "Update the database (overwritten to avoid symlink)" task :migrations do transaction do update_code end migrate restart end task :finalize_update, :except =&gt; { :no_release =&gt; true } do run "chmod -R g+w #{latest_release}" if fetch(:group_writable, true) # mkdir -p is making sure that the directories are there for some SCM's that don't # save empty folders run &lt;&lt;-CMD rm -rf #{latest_release}/log #{latest_release}/public/system #{latest_release}/tmp/pids &amp;&amp; mkdir -p #{latest_release}/public &amp;&amp; mkdir -p #{latest_release}/tmp &amp;&amp; ln -s #{shared_path}/log #{latest_release}/log &amp;&amp; ln -s #{shared_path}/system #{latest_release}/public/system &amp;&amp; ln -s #{shared_path}/pids #{latest_release}/tmp/pids &amp;&amp; ln -sf #{shared_path}/database.yml #{latest_release}/config/database.yml CMD if fetch(:normalize_asset_timestamps, true) stamp = Time.now.utc.strftime("%Y%m%d%H%M.%S") asset_paths = fetch(:public_children, %w(images stylesheets javascripts)).map { |p| "#{latest_release}/public/#{p}" }.join(" ") run "find #{asset_paths} -exec touch -t #{stamp} {} ';'; true", :env =&gt; { "TZ" =&gt; "UTC" } end end desc "Zero-downtime restart of Unicorn" task :restart, :except =&gt; { :no_release =&gt; true } do run "kill -s USR2 `cat /tmp/unicorn.my_site.pid`" end desc "Start unicorn" task :start, :except =&gt; { :no_release =&gt; true } do run "cd #{current_path} ; bundle exec unicorn_rails -c config/unicorn.rb -D" end desc "Stop unicorn" task :stop, :except =&gt; { :no_release =&gt; true } do run "kill -s QUIT `cat /tmp/unicorn.my_site.pid`" end namespace :rollback do desc "Moves the repo back to the previous version of HEAD" task :repo, :except =&gt; { :no_release =&gt; true } do set :branch, "HEAD@{1}" deploy.default end desc "Rewrite reflog so HEAD@{1} will continue to point to at the next previous release." task :cleanup, :except =&gt; { :no_release =&gt; true } do run "cd #{current_path}; git reflog delete --rewrite HEAD@{1}; git reflog delete --rewrite HEAD@{1}" end desc "Rolls back to the previously deployed version." task :default do rollback.repo rollback.cleanup end end end def run_rake(cmd) run "cd #{current_path}; #{rake} #{cmd}" end </code></pre> <p><strong>Log output:</strong> *<em>when doing a cap:setup</em>*</p> <pre><code> [109.etc] env RAILS_ENV=production sh -c 'git clone git@109.etc:srv/paintings.git /srv/paintings/current' ** [out :: 109.etc] Initialized empty Git repository in /srv/paintings/current/.git/ ** [out :: 109.etc] The authenticity of host '109.etc (109.etc)' can't be established. ** [out :: 109.etc] RSA key fingerprint is e9:af etc. ** [out :: 109.etc] Are you sure you want to continue connecting (yes/no)? Typing Yes keeps me waiting forever with no status updates </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload