Joh*_*all 4 ruby ruby-on-rails capistrano3
我正在使用Capistrano 3,我想创建自己的任务.所以我在lib/capistrano/tasks中创建了一个文件my_new_thing.rake,当我运行cap -T时我可以看到任务.但是......有些方法不可用.当我尝试使用上传!我明白了
cap aborted!
NoMethodError: undefined method `upload!' for main:Object
Run Code Online (Sandbox Code Playgroud)
但是,如果我将相同的任务移动到config/deploy.rb然后上传!方法可用.
发生什么了?如何创建新的Capistrano任务将它们放在单独的文件中并让它们工作?
Dav*_*son 14
我有同样的问题,我在一个单独的文件中创建了我自己的食谱,我在部署中加载但无法上传!上班.
为我修复的是在任务中添加一个角色过滤器,使我的最终配方看起来像这样:
namespace :figaro do
desc "Transfer Figaro's application.yml to shared/config"
task :upload do
on roles(:all) do
upload! "config/application.yml", "#{shared_path}/config/application.yml"
end
end
end
before "deploy:check", "figaro:upload"
Run Code Online (Sandbox Code Playgroud)
我希望有所帮助!
| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |