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

Deployment with Rake Causing Image Permission Errors (600)

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

RAKEFILE

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输入密码后,一切都成功上传到服务器;除了一些图像没有加载到页面上。我看了一下,文件肯定在服务器上,但我认为问题出在这些图片的权限上:

当我通过 FTP 上传时,文件设置为 755,并且它们在网站上可见。当我用 Rake 这样做时,它们被设置为 600 并被隐藏。

是否可以将它们设置为 755 或 644 或者知道为什么会这样?

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

感谢任何帮助。谢谢!

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

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