LoginSignup
2
1

More than 3 years have passed since last update.

direnv/dotenvを使ってnpm run-scriptからS3にDeployする

Last updated at Posted at 2019-04-22

使うもの

  • 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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1