使うもの
- s3-deploy-dotenv
$ npm install —save-dev s3-deploy-dotenv
- direnv、dotenv Macなら
$ brew install direnv dotenv
手順
1. プロジェクトルートに .env
つくる
# S3 リージョン S3_REGION=ap-northeast-1 # S3 アクセスキー ID S3_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXX # S3 シークレット アクセスキー S3_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXX # バケット名 S3_BUCKET={{S3バケット名}} # デプロイするルートディレクトリ ex) dist S3_LOCAL_DIR={{ディレクトリパス}} # デバッグモード 任意 S3_DEBUG_MODE=true
2. npm scriptsに追加
... "deploy": "s3-deploy-dotenv", ...
3. 実行
$ npm run deploy
環境ごとにわけたい
プロダクション環境を分ける場合…
1. プロジェクトルートに .env.production
をつくる
S3_BUCKET={{プロダクションバケット名}}
上書きしたい値のみ記入でOK.
2. npm scriptsに追加
... "prod:deploy": "source .env.production && s3-deploy-dotenv && direnv reload", ...
やってること
- sourceコマンドで.env.productionを読み込みグローバル変数が上書きされる
- S3 デプロイの実行
- .envの環境変数に戻す
3. 実行
$ npm run prod:deploy