What
Elastic Beanstalkで環境変数が存在する場合のみ、特定のコマンドを実行したい
How
.ebextensions
に書く。
例えば、newrelicのキーが存在(production環境とか)によって設定をしたい場合、以下のようにする
.ebextensions/newrelic.config
# newrelic
packages:
yum:
newrelic-sysmond: []
rpm:
newrelic: http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
container_commands:
"01":
command: test -v $NEWRELIC_KEY || nrsysmond-config --set license_key=$NEWRELIC_KEY
"02":
command: test -v $NEWRELIC_KEY || echo hostname=$HOSTNAME >> /etc/newrelic/nrsysmond.cfg
"03":
command: test -v $NEWRELIC_KEY || /etc/init.d/newrelic-sysmond start
"04":
command: test -v $NEWRELIC_KEY || sed -i -e "s/API_KEY/$NEWRELIC_KEY/" config/newrelic.yml
Notes
-
test -v
でチェック -
container_commands
を使わないとebextentions内で環境変数が取れない