Netlifyではproduction用のブランチ(多いケースとして master
)が該当プロジェクトでデプロイされます。
設定を変更する事で別のブランチもNetlify上にデプロイ、確認出来るようになります。
これから行う設定をすることで、
例えば、 develop
ブランチにコミットする毎にNetlify上に反映する事が出来るようになります。
その際のURLは以下のようになります。
- master・・
https://hogehoge.netlify.app/
- develop・・
https://develop--hogehoge.netlify.app/
また手順の最後のBasic認証はProプラン以上でないと出来ないのでご注意を!
Netlify上でdevelopブランチが確認出来るようにする
Netlifyの Settings > Build&Deploy
のDeploy contextsからEdit settingを押下
Branch deploys から Let me add individual branches
を選択。
Additional branchesに develop
を記載
Basic認証を設定する
ここから下の設定はNetlifyのProプラン以上でないと出来ないので注意です!
NetlifyでBasic認証をかけるためにはビルド後のフォルダに「_header」ファイルを作る必要があります。
詳しくは以下に書いているため詳細は ↓ をご覧下さい
端折って書いていくと、
まず package.json
に echo-netlify-basic-auth
コマンドを追加
scripts": {
・・・
"echo-netlify-basic-auth": "echo \"/*\\n Basic-Auth: name:pass\" > out/_headers"
},
これはビルド後のフォルダ内の「_header」ファイルにBasic認証の設定を記載するコマンドです
またブランチに応じて実行する内容事を変える必要があるので、netlify.toml
に以下のように設定
[context.production]
command = "yarn run deploy"
[context.develop]
command = 'yarn run deploy && yarn run echo-netlify-basic-auth'
[context.deploy-preview]
command = 'yarn run deploy && yarn run echo-netlify-basic-auth'
これで deplop
ブランチとPR作成時のプレビュー環境の場合のみBasic認証がかかるようになります。
URLをstg—xxxx.netlify.app/としたい場合
Netlifyではブランチ名がURLになります。
そのため https://develop--hogehoge.netlify.app/
のようなURLではなく https://stg--hogehoge.netlify.app/
のようにしたいケースがあります。
その場合は stg
というブランチを使いつつ、netlify.toml
の設定を
[context.production]
command = "yarn run deploy"
[context.stg]
command = 'yarn run deploy && yarn run echo-netlify-basic-auth'
[context.deploy-preview]
command = 'yarn run deploy && yarn run echo-netlify-basic-auth'
とすればOKです。
develop
ブランチで上げたものをNetlify上で https://stg--hogehoge.netlify.app
とする事は難しいみたい。。😢