2012-01-23 91 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]b.com: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 - 完成 – Trace

回答

2

所以,从输出你可以看到:

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

Mkdir那些失踪的dirs,并确保他们的权限是确定的。

+0

好的问题虽然...如果我ssh作为EC2用户,但文件夹是Apache:Webshare我应该改变他们为EC2用户或可以EC2用户读取和写入to apache:webshare – Trace

+0

用示例更新了我的问题 – Trace

+0

如果您将ec2用户添加到“webshare”组,那么他将能够更改这些,否则不能。哦,而不是'chmod 666 -R/var/www/projects/shared/log/*'尝试'chmod 666 -R/var/www/projects/shared/log' - 如果有的话你不会收到错误没有日志。 –