这是我的错误
限制生产部署 (Backtrace仅限于导入的任务) 帽子流产! 不知道如何建立任务'开始' (见--tasks)使用--trace https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html
Capfile
# Load DSL and Setup Up Stages
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rails/console'
require 'capistrano/rails'
require 'capistrano/bundler'
require 'capistrano/rvm'
require 'capistrano/puma'
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
Deploy.rb https://gist.github.com/hmexp/a899739fc39eeb56b20f639965a54b13
那么我该如何解决这个问题?
谢谢!
答案 0 :(得分:1)
我几周前遇到过这个问题。
据我所知,我通过将before
和after
语句放在名称空间之外来解决这个问题,因此可以在调用中精确控制命名空间,如下所示:
before "deploy:starting", "deploy:setup_maintenance_for_deploy"
before "deploy:starting", "maintenance:enable"
# after 'deploy:migrate', 'deploy:seed'
after 'deploy:publishing', 'deploy:restart'
after "deploy:finished", "maintenance:disable"
您的跟踪似乎也证实了我的直觉,即问题是由命名空间问题引起的 这些是Capfile和deploy.rb我使用:
希望这有帮助。
答案 1 :(得分:0)
对于您的情况,您需要在install_plugin Capistrano::Puma
之后将require 'capistrano/puma'
添加到Capfile中,如其他SO问题所示。
就我而言,请勿在任何自定义的capistrano .rake文件中放入before
和after
钩子。这些钩子应位于deploy.rb中。