2012-01-23 13 views
3

ИТАК у меня есть новый EC2 экземпляр, который все настройки и я SSH в с ec2 пользователем пользователя и на моей локальной машине я выполнил команду проверкиПочему мой capistrano терпит неудачу?

cap deploy:check 
    * executing `deploy:check' 
    * executing "test -d /var/www/projects/releases" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 101ms 
    * executing "test -w /var/www/projects" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 106ms 
    * executing "test -w /var/www/projects/releases" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 103ms 
    * executing "which git" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 104ms 
You appear to have all necessary dependencies installed 

Все кажется хорошо там, но когда я сделать шапку развернуть я получаю эту ошибку в конце

[50.19.84.170] executing command 
    command finished in 150ms 
failed: "sh -c 'rm -f /var/www/projects/current && ln -s /var/www/projects/releases/2012/var/www/projects/current'" on 50.19.84.170 

тогда я вижу, если что-то в каталоге релизов и ничего

ls -la /var/www/projects/releases/total 8 
drwxrwxr-x 2 ec2-user ec2-user 4096 Jan 23 13:37 . 
drwxrwxr-x 5 ec2-user ec2-user 4096 Jan 20 03:03 .. 

не уверен, что я делаю WR Онг ... вот мой deploy.rb

set :application, "projects" 
set :deploy_to, "/var/www/#{application}" 
set :keep_releases, 3 

set :scm, :git 
set :repository, "[email protected]:railsdevmatt/fat_free_crm.git" 
set :git_shallow_clone, 1 
set :branch, "master" 
set :use_sudo, true 

set :user, "ec2-user" 
ssh_options[:forward_agent] = true 
default_run_options[:pty] = true 

role :app, "50.19.84.170" 
role :web, "50.19.84.170" 
role :db, "50.19.84.170", :primary => true 

after "deploy:setup", :fix_perms 
after "deploy:update_code", :fix_perms 

# ssh_options[:keys] = ["#{ENV['HOME']}/Downloads/important.pem"] 

task :fix_perms do 
    # sudo "chown apache:webshare -R /var/www/projects" 
    # sudo "chmod 666 -R /var/www/projects/shared/log/*" 
end 

какие-либо идеи, что мне нужно изменить

UPDATE

Вот весь мой выход

cap deploy 
    * executing `deploy' 
    * executing `deploy:update' 
** transaction: start 
    * executing `deploy:update_code' 
    executing locally: "git ls-remote [email protected]:railsdevmatt/fat_free_crm.git master" 
/Library/Ruby/Gems/1.8/gems/capistrano-2.6.0/lib/capistrano/recipes/deploy.rb:104: warning: Insecure world writable dir /Users/mattelhotiby in PATH, mode 040777 
    command finished in 1061ms 
    * executing "git clone -q --depth 1 [email protected]:railsdevmatt/fat_free_crm.git /var/www/projects/releases/2012&& cd /var/www/projects/releases/2012&& git checkout -q -b deploy 65b439e201c2134fc97ee10a4ea66174018d8553 && (echo 65b439e201c2134fc97ee10a4ea66174018d8553 > /var/www/projects/releases/2012/REVISION)" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 1898ms 
    * executing `deploy:finalize_update' 
    * executing "chmod -R g+w /var/www/projects/releases/2012" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 123ms 
    * executing "rm -rf /var/www/projects/releases/2012/log /var/www/projects/releases/2012/public/system /var/www/projects/releases/2012/tmp/pids &&\\\n  mkdir -p /var/www/projects/releases/2012/public &&\\\n  mkdir -p /var/www/projects/releases/2012/tmp &&\\\n  ln -s /var/www/projects/shared/log /var/www/projects/releases/2012/log &&\\\n  ln -s /var/www/projects/shared/system /var/www/projects/releases/2012/public/system &&\\\n  ln -s /var/www/projects/shared/pids /var/www/projects/releases/2012/tmp/pids" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 133ms 
    * executing "find /var/www/projects/releases/2012/public/images /var/www/projects/releases/2012/public/stylesheets /var/www/projects/releases/2012/public/javascripts -exec touch -t 2012.55 {} ';'; true" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
** [out :: 50.19.84.170] find: `/var/www/projects/releases/2012/public/images': No such file or directory 
** [out :: 50.19.84.170] find: `/var/www/projects/releases/2012/public/stylesheets': No such file or directory 
** [out :: 50.19.84.170] find: `/var/www/projects/releases/2012/public/javascripts': No such file or directory 
    command finished in 111ms 
    triggering after callbacks for `deploy:update_code' 
    * executing `fix_perms' 
    * executing "sudo -p 'sudo password: ' chown apache:webshare -R /var/www/projects" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 136ms 
    * executing "sudo -p 'sudo password: ' chmod 666 -R /var/www/projects/shared/log/*" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
** [out :: 50.19.84.170] chmod: cannot access `/var/www/projects/shared/log/*': No such file or directory 
    command finished in 119ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/projects/releases/2012; true" 
    servers: ["50.19.84.170"] 
    [50.19.84.170] executing command 
    command finished in 145ms 
failed: "sh -c 'sudo -p '\\''sudo password: '\\'' chmod 666 -R /var/www/projects/shared/log/*'" on 50.19.84.170 

здесь является то, что каталог

ls -la /var/www/projects/shared/ 
total 20 
drwxrwxr-x 5 apache webshare 4096 Jan 23 13:32 . 
drwxrwxr-x 5 apache webshare 4096 Jan 20 03:03 .. 
drwxrwxr-x 2 apache webshare 4096 Jan 20 03:31 log 
drwxrwxr-x 2 apache webshare 4096 Jan 23 13:32 pids 
drwxrwxr-x 2 apache webshare 4096 Jan 23 13:32 system 
+0

Покажите нам весь выход capistrano. Пока отчет об отказе заканчивается, причина часто зарывается раньше. –

+0

добавив его сейчас ... – Trace

+0

@ MichałKwiatkowski - done – Trace

ответ

2

So , из выхода вы можете увидеть:

chmod: cannot access `/var/www/projects/shared/log/*': No such file or directory 

Mkdir Эти недостающие диски и удостоверьтесь, что их разрешения в порядке.

+0

ok вопрос, хотя ... если я ssh в качестве пользователя ec2, но в папках есть apache: webshare следует изменить их на пользователя ec2 или может читать и писать ec2-user к apache: webshare – Trace

+0

обновил мой вопрос с примера – Trace

+0

Если вы добавите пользователя ec2 в группу «webshare», тогда он сможет изменить их, в противном случае нет. О, а вместо 'chmod 666 -R/var/www/projects/shared/log/*' try 'chmod 666 -R/var/www/projects/shared/log' - вы не получите ошибку, если там нет журналов. –

Смежные вопросы