我正在尝试将我的Rails应用程序部署到生产服务器,我决定使用this guide + RVM将其部署到DigitalOcean。
要部署我使用以下命令:
cap production deploy
然而,它在某些需要gemfile的部分失败了。这是部署失败的日志:
DEBUG[323dfd0e] Command: cd /home/deploy/zwiadowcy/releases/20140628164657 && ~/.rvm/bin/rvm default do bundle install --binstubs /home/deploy/zwiadowcy/shared/bin --path
/home/deploy/zwiadowcy/shared/bundle --without development test --deployment --quiet
DEBUG[323dfd0e] Could not locate Gemfile
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host my_ip_address: bundle exit status: 10
bundle stdout: Nothing written
bundle stderr: Nothing written
我的gemfile已经包含了所有必需的东西:
gem 'capistrano', '~> 3.1.0'
gem 'capistrano-bundler', '~> 1.1.2'
gem 'capistrano-rails', '~> 1.1.1'
gem 'capistrano-rvm', github: "capistrano/rvm"
我已经搜索了一半的互联网并尝试了很多东西,在这里查看了很多问题,我现在已经知道我不知道该怎么做了,所以我请求你帮忙。谢谢!
答案 0 :(得分:2)
验证是否在Git中检查了Gemfile
和Gemfile.lock
。例如,您可以运行:
git log Gemfile
git log Gemfile.lock
您还可以验证服务器上/home/deploy/zwiadowcy/releases/20140628164657
中是否存在这些文件。
在服务器中手动运行该命令也有助于:
cd /home/deploy/zwiadowcy/releases/20140628164657 && ~/.rvm/bin/rvm default do bundle install --binstubs /home/deploy/zwiadowcy/shared/bin --path /home/deploy/zwiadowcy/shared/bundle --without development test --deployment