Ruby-on-Rails
將 Rails 應用程序部署到 OpsWorks 時出現錯誤“聲明配置資源時必須提供名稱”
將 rails 應用程序從引擎場移動到 OpsWorks 時,我收到以下錯誤:
Error executing action `deploy` on resource 'deploy[{{ app path }}]' you must supply a name when declaring a config resouce
將 rails 應用程序部署到 ops 時有效。錯誤繼續說“
我已經確認我的“自定義 json”正在
database.yml
正確填充文件。給出了進一步的細節:
Resource Declaration: deploy deploy[:deploy_to] do provider Chef::Provider::Deploy.const_get(deploy[:chef_provider]) ..
有趣的是,在下面的轉儲中,有一個
params
列表,其中包括:name => nil
這似乎是問題所在。我已經檢查了 OpsWorks 中的所有表單,並且每個名稱欄位都已填充。除此之外,自定義 JSON 似乎是正確的,因為它正在填充到 database.yml 文件中。我不知道還有什麼要從那裡檢查的。
以前有沒有人見過這個問題,或者任何人都可以就我如何確定這裡出了什麼問題提供任何想法?
問題是舊的引擎場部署腳本假定的參數與 opsworks 在其部署腳本中使用的參數不同。解決方案是重寫部署腳本,刪除引擎場包裝器程式碼。