Capistrano:部署权限问题

时间:2010-11-13 16:37:56

标签: ruby-on-rails git deployment capistrano

我在将Rails应用程序部署到服务器时遇到问题。执行

cap deploy

我收到很多错误,说明chmod无法更改(并且只有)git对象文件的权限:

...
 ** [out :: ██████████████] chmod: changing permissions of `/srv/www/kunsthof/releases/20101113162736/.git/objects/04/779c6d894bbea4c26d6e035f71cd1ab124cc90': Operation not permitted
...
failed: "sh -c 'chmod -R g+w /srv/www/kunsthof/releases/20101113162736'" on ██████████████

文件放在部署本身上,因此部署用户应该可以更改其权限。关于这里可能出现什么问题的任何建议?

1 个答案:

答案 0 :(得分:4)

如果您使用缓存副本,通常在部署时,您的repo将被克隆到共享目录,并将被rsynced /复制到当前版本目录。在处理时,您应该使用以下变量排除.git目录和其他不需要的目录,例如spec / test(不会在生产中使用):

set :copy_exclude, [".git", "spec"]

有了这个,你不会复制.git目录,也不应该在之后的chmod上遇到权限问题。

相关问题