.ebextensions構成ファイルからPARAM1/PARAM2などのコンテナー環境プロパティーを参照することは可能ですか?もしそうなら、どのように? $ PARAM1を試しましたが、空の値のようです。
起動時にホスト名をDEV、QA、またはPRODを含むように設定します。これをPARAM1環境変数を介してコンテナに渡します。
commands:
01-set-correct-hostname:
command: hostname myappname{$PARAM1}.com
commands
セクションではなく、container_commands
セクションでのみこれを実行できることがわかりました。
これは機能します:
container_commands:
01-set-correct-hostname:
command: "hostname myappname{$PARAM1}.com"
詳細については、 http://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-container_commands を参照してください。
ここに私のために働いたものがあります。私は受け入れられたアプローチを試みましたが、望ましい結果が得られませんでした(中括弧は出力に含まれていました)。 Elastic Beanstalkにアップロードするときに.configファイルから実行されるコマンドのトラブルシューティングも少し難しいです(またはどこを探すべきか正確にわかりません)。
AWS環境:
Elastic Beanstalk環境プロパティ(設定->ソフトウェア設定->環境プロパティ):
デプロイメントアーティファクトの.ebextensionsフォルダーに含まれるサンプル.configファイル:
container_commands:
0_test-variable:
cwd: /tmp
command: "touch ${HELLO_VARIABLE}_0_.txt"
1_test-variable:
cwd: /tmp
command: "touch {$HELLO_VARIABLE}_1_.txt"
2_test-variable:
cwd: /tmp
command: "touch $HELLO_VARIABLE_2_.txt"
Elastic Beanstalkを使用してアーティファクトがデプロイされた後、EC2インスタンス内の/ tmpディレクトリには次のファイルが含まれます(中括弧と$の位置に注意)。
コマンドの段階で環境変数を使用できるようにするために、環境変数を解析してbashのソース可能なファイルにします。
000001.envvars.config
...
commands:
000001_envvars_to_bash_source_file:
command: |
# source our elastic beanstalk environment variables
/opt/elasticbeanstalk/bin/get-config --output YAML environment|Perl -ne "/^\w/ or next; s/: /=/; print qq|\$_|" > /var/tmp/envvars
chmod 400 /var/tmp/envvars
...
それから私は使用します:-
source /var/tmp/envvars
後続のコマンドで。
受け入れられた答えはかなり時代遅れです。
これで、/opt/elasticbeanstalk/support/envvars
ファイルを使用できます。このファイルは、既にソースとして準備ができているシェルスクリプトです。
commands:
01_update_composer:
command: |
. /opt/elasticbeanstalk/support/envvars
/usr/bin/composer.phar self-update
container_commands:
01_run_composer:
command: |
composer.phar install --no-scripts --no-dev # already has user-specified env variables
更新:
詳しい調査の結果、container_commands:
には環境変数が含まれていることが判明しましたが、commands:
には含まれていません。
このブログでは、これを実現する方法に関するさまざまなオプションについて詳しく説明しています。
https://www.onica.com/blog/how-to-call-and-export-variables-in-elastic-beanstalk/