我第一次使用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
并输入密码时,所有内容都会成功上传到服务器;除了一些图像没有加载到页面上。我看了一下,文件肯定在服务器上,但我认为问题在于这些图像的权限:
当我通过FTP上传时,文件设置为755并且在网站上可见。当我使用Rake执行此操作时,它们将设置为600并隐藏。
是否可以将它们设置为755或644,或者知道为什么会发生这种情况?
我可以更改每张图片的权限,但不是最优雅的解决方案。
感谢任何帮助。谢谢!
答案 0 :(得分:1)
耙子并不是你的问题。 Rake对上传文件或设置权限一无所知;它只运行任务中定义的命令。
实际的文件上传是通过rsync
进行的。根据{{3}},您应该能够使用选项-p
(AKA --perms
)将复制到目标服务器的文件设置为与源文件具有相同的权限。