以下は、私の EB 構成ファイルの抜粋です.ebextensions/app.config
。
option_settings:
- option_name: AWS_SECRET_KEY
value: xxxxxxxxxx
- option_name: AWS_ACCESS_KEY_ID
value: xxxxxxxxxx
- option_name: APP_ENV
value: development
- namespace: aws:elasticbeanstalk:container:nodejs
option_name: ProxyServer
value: nginx
- namespace: aws:elasticbeanstalk:container:nodejs
option_name: GzipCompression
value: true
- namespace: aws:elasticbeanstalk:container:nodejs
option_name: NodeVersion
value: 0.8.10
- namespace: aws:elasticbeanstalk:container:nodejs
option_name: NodeCommand
value: npm start
commands:
test_command:
command: echo $APPLICATION_ENV > /home/ec2-user/test.txt
cwd: /home/ec2-user
ignoreErrors: true
それから私は通常のことをします:
$ git commit -am "wrote config file"
$ eb init
...
$ eb start
...
would you like to use the most recent commit [y/n]
$ y
次に、デプロイが完了して緑色の状態になった後、eb
生成された.elasticbeansalk/optionsettings.myapp-env
ファイルの中を見て、次のことを見つけました。
[aws:elasticbeanstalk:application:environment]
PARAM1=
PARAM2=
PARAM3=
PARAM4=
PARAM5=
[aws:elasticbeanstalk:container:nodejs]
GzipCompression=false
NodeCommand=
NodeVersion=0.8.24
ProxyServer=nginx
環境変数が設定されてNodeCommand
おらず、ディレクティブも設定されておらず、NodeVersion
無視されています。何を与える、EB? 特定のディレクティブを無視し、他のディレクティブを無視するにはどうすればよいでしょうか? 私が間違っていることについてのアイデアはありますか?
編集
この投稿によると、環境変数を保持する JSON は次の場所に保持されます。
/opt/elasticbeanstalk/deploy/configuration/containerconfiguration
つまり、変数のこのフィールドを解析できますが、構成ファイルで処理する必要があるため、これはイライラします (そうでなければ、なぜ 1 つあるのですか?)。私の構成ファイルにはまだ問題があるはずです。そうでなければ、EB はこの点で完全に壊れているようです...