「Reactで作ったアプリを、ネット上に公開したい」
今回は上記の悩みにお答えします。
Reactで作ったWebサイトやWebアプリは、本番環境(実際のネット上)でもちゃんと動作するか確認したいときがあるはずです。
しかし、以下の疑問もあるかと思います。
デプロイするにはお金かかるのかな...
レンタルサーバーとか契約しないといけないの?
「デプロイ」は、WebサイトやWebアプリを「ネット上に公開すること」です。
そこで、今回は「Netlify」を使ってReactアプリをデプロイする方法を解説します。
無料でデプロイが実現可能です。
また、Reactでは「環境変数」を使って開発することもありますよね。
Netlifyなら環境変数もちゃんと設定できるため、セキュリティ面でも安心です。
Netlifyとは
一言で言えば以下です。
「静的サイトのためのホスティングサービス」
意味わからないですよね。
要するに、WebサイトやWebアプリを簡単に公開してくれるサービスです。
ちなみに、当サイト「RalaCode」もNetlifyを使って公開しており、利用料は無料です。
途中から有料になったりとかもありません。
有料プランも一部用意されていますが、無料で十分です。
デプロイの方法は主に2つです。
プロジェクトフォルダを直接Netlifyにアップロードする
GitHubとNetlifyを連携する
直接アップロードする方法は、超簡単です。
ですが、プロジェクトの内容を変更するたびにアップロードするのは面倒。
おすすめは「NetlifyとGitHubと連携する」という方法です。
今回はこちらを解説していきます。
GitHubにReactアプリをpushしておく
まずは、ReactアプリのコードをGitHubのリモートリポジトリにpushしましょう。
「何のことかわからない...」
という方は、以下の記事をどうぞ。
![【GitHub】リポジトリにファイルをpushする方法【コマンドライン使います】](https://images.ctfassets.net/o1bgnefm7hbe/36HDqzf213VGYdXCG87Acq/149dbff278f039f5a380286a2c096ea8/github_repository_push_eyecatch.png?w=260&h=146&q=50&fm=png)
GitHubってそもそも何?
GitHubのアカウントの作り方は?
GitHubでリモートリポジトリを作る手順は?
どうやってpushするの?
このあたりの情報を把握できます。
Netlifyのアカウントを作る
次に、Netlifyのアカウントを作ります。
作り方は別記事にて解説しております。
![Netlifyのアカウントを作成する](https://images.ctfassets.net/o1bgnefm7hbe/7vUz2o6pmWUvuGGWa3j5AI/558287e03e224c99d80f62eafa8933f0/make_account.png?w=260&h=146&q=50&fm=png)
上記の記事では、「GitHubのアカウントを使ってNetlifyにログインする」という方法を説明してあります。
GitHubとNetlifyを連携する
Netlifyの画面で操作していきます。
![「Add new site」をクリックして「Import an existing project」をクリックする](https://images.ctfassets.net/o1bgnefm7hbe/71kbqwQuQchQSd6yWurtXW/64a06e01cfec3e9b7e053055afa88da8/deploy_netlify.001.png?w=760&h=570&q=50&fm=png)
上の画像の画面で、「Add new site」をクリックします。
プルダウンの中から、「Import an existing project」をクリックです。
![「GitHub」をクリック](https://images.ctfassets.net/o1bgnefm7hbe/aHNElw4fnRlykhC6iraHC/02f861384e5b8364921a9673523a07d0/deploy_netlify.002.png?w=760&h=570&q=50&fm=png)
GitHubと連携したいので、「GitHub」をクリックします。
別ウインドウが開いて、GitHubのログインパスワードを聞いてきたら入力しましょう。
![「Configure the Netlify app on GitHub.」をクリック](https://images.ctfassets.net/o1bgnefm7hbe/16O9xPAbD4M7BPLSXlaEOX/0575f778be5de1eceb51648788c63c23/deploy_netlify.003.png?w=760&h=570&q=50&fm=png)
こちらの画面で、「Configure the Netlify app on GitHub.」をクリックします。
ここでも、別ウインドウでGitHubのパスワードを聞いてくるかもです。
![連携したいリポジトリを有効化して「Save」をクリック](https://images.ctfassets.net/o1bgnefm7hbe/5UghHl7POpYr6kMg8iFNGy/4b930ad54210fa436c9f22b5d386ea0c/deploy_netlify.004.png?w=760&h=570&q=50&fm=png)
開いた画面で下の方にスクロールすると、上の画像のような部分があります。
まず以下を選択できます。
GitHubのリポジトリ全部を連携可能な状態にする
GitHubのリポジトリの中で、選択したものだけ連携可能な状態にする
ここでは、上記の2番目のやり方でいきます。
「Select repositories」を クリックし、プルダウンの中から連携させるリポジトリを選んでクリックします。
そして「Save」をクリックです。
![連携させるリポジトリをクリック](https://images.ctfassets.net/o1bgnefm7hbe/58jgb1RPyR9yiygMcljA0k/f56ef632bbe9e6f7555d865748db6859/deploy_netlify.005.png?w=760&h=570&q=50&fm=png)
こちらの画面に戻ってきます。
先ほど選んだリポジトリが表示されていると思うので、それをクリックです。
![「Deploy site」をクリック](https://images.ctfassets.net/o1bgnefm7hbe/VTXH2pAfVgwlxcq2p578e/927c7d7cc52f401e9577346974ff87d5/deploy_netlify.006.png?w=760&h=570&q=50&fm=png)
こちらの画面で、「Deploy site」をクリックすればデプロイが始まります。
デプロイするReactアプリで、環境変数を使っている場合は「Show advanced」をクリックしましょう。
環境変数を設定する
![環境変数を設定する場合](https://images.ctfassets.net/o1bgnefm7hbe/6XIsS6HAs5cpRn7T69xlmD/330d4a53b65b162f235f3be529f2d357/deploy_netlify.007.png?w=760&h=570&q=50&fm=png)
「Show advanced」をクリックすると、上記のように表示されます。
「New variable」をクリックすれば、環境変数の入力フォームが出てきます。
複数の環境変数を入力したい場合は、もう一度「New variable」をクリックすればいいです。
「環境変数って何?」って方は、以下の記事が参考になると思います。
![Reactで環境変数を読み込む【開発・本番で切り替え可能】](https://images.ctfassets.net/o1bgnefm7hbe/sVAERvEonXbOy9tvqsiTg/4467f5b6f791bb55eda1d041158ca7be/eyecatch_use_env_variables_in_react.001.png?w=260&h=146&q=50&fm=png)
React開発の際に、環境変数を使うのはセキュリティ上重要です。
デプロイしたサイトにアクセスしてみる
![デプロイしたサイトにアクセスしてみる](https://images.ctfassets.net/o1bgnefm7hbe/7Hopd14b3XQr5D4kEUUStg/b3df82bfb8121a7cd789218b05bd2686/deploy_netlify.008.png?w=760&h=570&q=50&fm=png)
デプロイが始まると、上の画像のような画面が表示されます。
左下に「Building」と表示されている間は、まだデプロイの途中です。
完了すると、上の画像のように「Published」と表示されます。
左上に表示されているURLをクリックすると、デプロイされたReactアプリにアクセスできます。
あなたの作ったReactアプリが、ネット上に公開されているわけです。
「Reactアプリのコードを変更したらどうなるの?」と思われる方もいるかもしれません。
コードを変更したら、またGitHubにpushしましょう。
すると、Netlifyが自動でGitHubリポジトリの変更を検知して、デプロイし直してくれます。
URLをカスタマイズする
デプロイの際にURLの文字列は、ランダムで決められてしまいます。
「自分の好きな文字列にしたい」
という方向けに、URLをカスタマイズする方法を解説します。
![サイトのURLを変更する](https://images.ctfassets.net/o1bgnefm7hbe/2oKshHVUtYqsJslokpzwMN/41a4886f068352e1c33c77b8dc51d955/change_site_name.001.png?w=760&h=570&q=50&fm=png)
画面上部で、「Site settings」をクリックします。
そして、「Change site name」をクリックです。
![ドメイン名を決めて入力し、「Save」をクリック](https://images.ctfassets.net/o1bgnefm7hbe/3uViBYvB49LNsqjCHQVkEj/d9b66955f4a2b685c9fcd95235d89547/deploy_netlify.010.png?w=760&h=570&q=50&fm=png)
ドメイン名を決めて入力し、「Save」をクリックします。
これで、URLが自分好みの文字列に変えられます。
そして、変更前のURLにはアクセスできなくなります。
独自 ドメインを適用させたいとき
「自分で取得したドメインを適用させたい」
という場合もありますよね。
例えば以下のようなドメイン。
〜.com
〜.jp
〜.org
など
ここでは独自ドメインと呼ぶことにします。
Netlifyなら独自ドメインも適用できます。
その方法は、以下の記事にて解説しております。
![【Netlify】お名前.comで取得した独自ドメインを適用する方法](https://images.ctfassets.net/o1bgnefm7hbe/6p9w66WkP2iZ09oObuM4TC/a674a15a99189786a66481a0e1891f63/wide_background.png?w=260&h=146&q=50&fm=png)
お名前.comで独自ドメインを取得する方法
そのドメインをNetlifyに適用する方法
上記を理解できます。
ちなみに当サイト「RalaCode」は、Netlifyにデプロイして「ralacode.com」という独自ドメインを適用させています。
まとめ
最後に記事の内容をまとめます。
Reactで作ったアプリをNetlifyにデプロイする方法を解説しました。
手順は以下です。
GitHubのアカウントを作る
GitHubにコードをpushする
GitHubのアカウントでNetlifyにログインする
GitHubとNetlifyを連携する
Reactアプリがデプロイされる
さらに、独自ドメインを適用することもできます。
本格的なWebサイト、Webアプリとして運営することが可能。
Netlifyに独自ドメインを適用する方法は以下の記事にて解説しております。
![【Netlify】お名前.comで取得した独自ドメインを適用する方法](https://images.ctfassets.net/o1bgnefm7hbe/6p9w66WkP2iZ09oObuM4TC/a674a15a99189786a66481a0e1891f63/wide_background.png?w=260&h=146&q=50&fm=png)
というわけで、記事は以上です。
![【コード書くだけ】Netlifyでお問い合わせフォームを作る方法](https://images.ctfassets.net/o1bgnefm7hbe/3oJ02fYDdEjUuwGXugpRfk/6ebb7a3b9d3415b88aad1a42c4f347f7/eyecatch_netlify_forms.png?w=260&h=146&q=50&fm=png)