限制生产部署不知道如何建立任务'开始' (见--tasks)

时间:2017-07-07 08:21:08

标签: ruby-on-rails

这是我的错误

限制生产部署 (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

那么我该如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

我几周前遇到过这个问题。

据我所知,我通过将beforeafter语句放在名称空间之外来解决这个问题,因此可以在调用中精确控制命名空间,如下所示:

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我使用:

Capfile
deploy.rb

希望这有帮助。

答案 1 :(得分:0)

对于您的情况,您需要在install_plugin Capistrano::Puma之后将require 'capistrano/puma'添加到Capfile中,如其他SO问题所示。

就我而言,请勿在任何自定义的capistrano .rake文件中放入beforeafter钩子。这些钩子应位于deploy.rb中。