1
我是Capistrano的新手,需要一些帮助来设置它。在我运行命令cap deploy
后,它成功运行且没有错误,但它并没有更新远程服务器上的任何内容,只在my_app目录内用一些文件创建了额外的文件夹,并且还创建了名为current
的文件夹,并将github的所有更新放置在该文件夹内。这是我的deploy.rb
文件Capistrano 3不更新文件和代码
lock '3.3.3'
set :application, 'my_app'
set :repo_url, '[email protected]:me/my_app.git'
set :branch, "master"
set :deploy_via, :remote_cache
set :user, "me"
set :stages, ["production"]
set :use_sudo, false
set :deploy_to, '/var/www/my_app'
namespace :deploy do
after :finishing, 'deploy:cleanup', "deploy:update_code"
after :restart, :clear_cache do
on roles(:web), in: :groups, limit: 3, wait: 10 do
# Here we can do anything such as:
# within release_path do
# execute :rake, 'cache:clear'
# end
end
end
end
什么是错的!我如何让Capistrano更新远程服务器上my_app文件夹中的文件和内容?非常感谢你的帮助!!!
由于您是Capistrano的新手,您可能不知道它是如何工作的。假设你的应用程序驻留在'/ var/www/my_app'中,有几个目录,并且它们中的任何一个都不包含你的项目源。首先是'current',它是'releases/SOME_TIMESTAMP'的符号链接。接下来是一个'repo'目录,其中包含您的裸回购,'发布'与几个最后成功或失败的部署。最后一个是'shared',并且有文件或目录必须在版本间共享(例如'config/database.yml') – blelump 2014-12-03 18:31:20
非常感谢您的回答。请问你能帮帮我吗!我应该如何让我的服务器使用Cpristrano下载的新代码。或者我怎样才能将github主分支上的代码与远程服务器上的代码同步?谢谢! – 2014-12-04 17:15:25
你的'deploy.rb'看起来很好。部署是否成功结束?如果是这样,'current'目录仍然不包含新的提交? – blelump 2014-12-04 17:22:11