以下の話をします
- 
useDotenv: trueをどこに書くのか
- 
.envファイルをどこに置くのか
- どこで使えるのか
結論
最終的に以下のようなディレクトリ構成になります。
rootdir/
┣ aaa/
┃ ┣ .env.dev
┃ ┣ .env.prod
┃ ┗ serverless.yml
┣ bbb/
┃ ┣ .env
┃ ┗ serverless.yml
┗ serverless-compose.yml
useDotenv: true をどこに書くのか
serverless-compose.yml には書けません。(書いてもエラーにはなりませんが読まれません)
子フォルダの serverless.yml に個別に書きます。
.env, .env.{stage} ファイルをどこに置くのか
useDotenv: true を子フォルダに書いたので、 .env, .env.{stage} ファイルは子フォルダにそれぞれ置きます。
共通の変数(システム名の接頭辞など)は1箇所にまとめたかったのですができませんでした。情報募集しています。
${env:prameterXX} はどこで使えるのか
お察しの通り、子フォルダごとに .env ファイルを定義しているのでその範囲でしか使えません。
ただし、こんなところでも使えました。
serverless.yml
service: ${env:serviceNamePrefix}-service
useDotenv: true
~~~
useDotenv: true よりも上で参照しても使えました。これは便利ですね。
