私は展開に関するすべてを自動化しようとしてきましたが、すべてが逆戻りする今日まで、ある程度の漸進的な成功を収めてきました。
.ebextensions/01settings.config
container_commands:
01seed:
command: rake db:seed
leader_only: true
これは時々実行されますが、ほとんど実行されません。デプロイすると、次のように表示されます。
2013-08-13 21:46:55,606 [INFO] Running configSets: Infra-EmbeddedPostBuild
2013-08-13 21:46:55,607 [INFO] Running configSet Infra-EmbeddedPostBuild
2013-08-13 21:46:55,609 [INFO] Running config postbuild_0_acme_development_02e6a3b5e2d179b50d766a8dc16f8243__ebextensions_01settings_config
2013-08-13 21:46:55,609 [DEBUG] No packages specified
2013-08-13 21:46:55,609 [DEBUG] No groups specified
2013-08-13 21:46:55,609 [DEBUG] No users specified
2013-08-13 21:46:55,609 [DEBUG] No sources specified
2013-08-13 21:46:55,609 [DEBUG] No files specified
2013-08-13 21:46:55,610 [DEBUG] Running command 01seed
2013-08-13 21:46:55,610 [DEBUG] Generating defaults for command 01seed
2013-08-13 21:46:55,810 [DEBUG] Running test for command 01seed
2013-08-13 21:46:55,839 [DEBUG] Test command output:
2013-08-13 21:46:55,840 [DEBUG] Test for command 01seed passed
2013-08-13 21:47:08,019 [INFO] Command 01seed succeeded
2013-08-13 21:47:08,020 [DEBUG] No services specified
2013-08-13 21:47:08,034 [INFO] ConfigSets completed
また、同じものを同じインスタンスにデプロイすると、同じセクションに次のように表示されます。
2013-08-13 22:15:15,360 [INFO] Running configSets: Infra-EmbeddedPostBuild
2013-08-13 22:15:15,362 [INFO] Running configSet Infra-EmbeddedPostBuild
2013-08-13 22:15:15,362 [INFO] ConfigSets completed
この経験がどれほど苛立たしいものであったか、言葉では言い表せません。近いうちに rake を介した Rails デプロイメントの自動化を gem として共有する予定ですが、毎回同じように機能するとは限らないため、躊躇しています。
.ebextensions/*.config が試行されない理由は何ですか?
編集: 私の deep_symbolized_hash.to_yaml は、次のような .ebextensions/01settings.config を出力しているようです:
:container_commands:
:01seed:
:command: rake db:seed
:leader_only: true
したがって、これは有効な yaml ですが、Infra-EmbeddedPostBuild のエラスティック Beanstalk 構成セット実行プロセスは、文句なしに my 構成のすぐそばを歩きます。
そうですか?ebがこれを飲み込むことを本当に望んでいますか?