我对Middleman相当陌生,我想用rsync传输我的文件。我有无密码的SSH访问,但每次我尝试做middleman deploy
它要求我的密码。如果我输入cPanel密码,它说它不正确,我不能rsync。
我正在使用这个宝石。它说:
activate :deploy do |deploy|
deploy.deploy_method = :rsync
deploy.host = 'www.mysite.com'
deploy.path = '/'
end
我在这里错过了什么?仅供参考,我正在使用Namecheap,我试图使用他们的端口。
如果您在服务器上的用户名与您在本地机器上的用户名不同,您可能需要在config.rb
中设置deploy.user
才能登录。
根据我的经验,最好使用Rake来配置shell命令来设置Middleman部署。对我来说,middleman-deploy
宝石并没有抽象出足够的复杂性,使其值得配置。
如果您设置本地SSH环境以连接到服务器而不使用密码,则会使此操作特别快速。我设置了一个rakefile
,看起来像这样:
# rakefile
server = "webserver.someurl.com"
remote_path = "/srv/html/"
permissions = "--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r"
task :deploy do
sh "middleman build"
sh "rsync -rDv build/ #{server}:#{remote_path} --delete #{permissions}"
end
然后我可以用rake deploy
运行我的部署。
如果你想查看我的Boilerplate Middleman项目中有更多的细节