before_migrate ステップに関連するカスタム コードを opsworks deploy cookbook に追加しようとしています。
before_migrate do
link_tempfiles_to_current_release
deploy_version = Time.now.strftime("%Y%m%d%H%M%S")
if node['deploy_app'] == 'web'
link "/var/lib/tomcat#{node["tomcat"]["base_version"]}/webapps/ROOT###{deploy_version}" do
to "#{release_path}"
end
私が抱えている問題は、デプロイ クックブックをサイト クックブック パッケージに含めると、シェフ エラーが発生することです。
[2013-08-27T16:45:05+00:00] FATAL: Chef::Exceptions::ImmutableAttributeModification: ruby_block[Compile Custom OpsWorks Run List] (opsworks_custom_cookbooks::execute line 3) had an error: Chef::Exceptions::ImmutableAttributeModification: Node attributes are read-only when you do not specify which precedence level to set. To set an attribute use code like `node.default["key"] = "value"'
私のクックブックのノード設定が正しくないことを確認したので、何が問題なのかわかりません。このエラーをデバッグするのは非常に難しいと思います。このクックブックを変更せずに含めても、このエラーが発生します。正しい方向に私を向けることができるかどうか教えてください。