使用Rake进行部署导致图像权限错误(600)

时间:2015-06-04 22:02:39

标签: ruby rake web-deployment file-permissions

我第一次使用Rake将我的网站部署到我的服务器上,我遇到了一个小问题。

Rake文件

desc 'Deploying the website...'
task :deploy do
  puts 'Deploying to server.com'
  user = 'user'
  server = 'server.com'
  path = 'server.com/html'
  sh "rsync -rtzh --delete _site/ #{user}@#{server}:#{path}"
  puts 'Fin!'
end

当我运行rake deploy并输入密码时,所有内容都会成功上传到服务器;除了一些图像没有加载到页面上。我看了一下,文件肯定在服务器上,但我认为问题在于这些图像的权限:

enter image description here

当我通过FTP上传时,文件设置为755并且在网站上可见。当我使用Rake执行此操作时,它们将设置为600并隐藏。

是否可以将它们设置为755或644,或者知道为什么会发生这种情况?

我可以更改每张图片的权限,但不是最优雅的解决方案。

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

耙子并不是你的问题。 Rake对上传文件或设置权限一无所知;它只运行任务中定义的命令。

实际的文件上传是通过rsync进行的。根据{{​​3}},您应该能够使用选项-p(AKA --perms)将复制到目标服务器的文件设置为与源文件具有相同的权限。