概要
- 環境ごとに変更する値やgitのリポジトリに含めたくない値はdotenvを使って環境変数で設定することが多いと思います
- ServerlessFrameworkを使ってymlで設定する値にもdotenvで値を設定したくなりました
-
serverless-dotenv-pluginを使うと
.env
で設定した値をserverless.yml
から読み込めるようになります
使い方
- インストール
yarn add -D serverless-dotenv-plugin
-
.env
に環境変数を設定します
.env
ACCESS_TOKEN=abcde12345
-
serverless.yml
に設定を追加します-
plugins
にserverless-dotenv-plugin
追加 -
${env:XXX}
の形式で.env
で設定した値を取得できます
-
serverless.yml
service: sample
provider:
name: aws
runtime: nodejs12.x
environment:
# .envから値を取得してセットしている
ACCESS_TOKEN: ${env:ACCESS_TOKEN}
plugins:
# pluginsにserverless-dotenv-pluginを追加
- serverless-dotenv-plugin
# ...他の設定
- このように設定することで例えばLambdaを定義しているJSから
ACCESS_TOKEN
を取得することができます
handler.js
const ACCESS_TOKEN = process.env.ACCESS_TOKEN;
console.log(ACCESS_TOKEN); // abcde12345