はじめに
Github Pagesを用いるとReactアプリを公開することができます。
備忘録も兼ねGithub Pageを使ったReactアプリの公開方法をまとめていきたいと思います。
Github Pagesの詳細につきましては下記公式サイトよりご確認をお願いします。
Github Pages公式サイト
手順
大まかに手順をまとめると以下の通りです。
- 公開するReactアプリを作成
- Githubに新しいリポジトリを作成する
- 作成したリポジトリとReactアプリを連携する
- Reactアプリをビルドする
- コミット&プッシュをする
- Github Pagesの公開設定をする
1. 公開するReactアプリを作成
公開するReactアプリを作成し、PCに保管します。
ここでは、Dockerを用いてcreate-react-app
でプロジェクトを作成する例を記載します。
※Dokcerを用いない場合は、node.js
をインストールし、
npx create-react-app <プロジェクト名>
で作成可能です。
任意のディレクトリにDockerfile
とdocker-compose.yml
ファイルを作成し、
以下の通り記述します。
<プロジェクト名>
にはtemplate
のようにお好きなプロジェクト名をつけます。
(山括弧は不要)
# ベースイメージの指定
FROM node:lts
# 作業ディレクトリの指定
WORKDIR /usr/src/app
version: "3.9"
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- type: bind
source: .
target: /usr/src
command: sh -c "cd <プロジェクト名> && npm start"
ports:
- 3000:3000
stdin_open: true
記述が終わりましたら、ビルドを行うため以下のコマンドを実行します。
$ docker-compose build
ビルドが完了しましたら、以下のコマンドを実行し、プロジェクトを作成します。
$ docker-compose run --rm app sh -c 'npx create-react-app <プロジェクト名>'
下記のように表示された場合はy
を入力&Enter
を押下し、続行します。
Need to install the following packages:
create-react-app@5.0.1
Ok to proceed? (y)
2〜3分ほど待ち、Happy hacking!
が表示されれば、プロジェクトの作成は完了です。
以下のコマンドを実行し、localhost:3000にアクセスして、
以下画像のように表示されていれば問題ありません。
$ docker-compose up
2. Githubに新しいリポジトリを作成する
Githubアカウントにサインインして、画面右上の+
のアイコンをクリックし、
New repositoryを選択します。
Githubアカウントをお持ちでない方は、こちらよりアカウントを登録します。
Create a new repositoryの画面の Repository name
にリポジトリ名を記入し、
画面下部の Create repository
を選択します。
下図のような画面が表示され、リポジトリが作成できていればOKです。
3. 作成したリポジトリとReactアプリを連携する
Dockerfile
とdocker-compose.yml
ファイルのディレクトリから
以下のコマンドを実行し、ディレクトリを移動します。
※Dockerを使用せずにcreate-react-app <プロジェクト名>
で作成した場合は、
cd <プロジェクト名>
でOKです。
$ cd app/<プロジェクト名>
ディレクトリを移動したら、以下のコマンドを実行し、Githubリポジトリにプッシュします。
$ git init
$ git add .
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin https://github.com/ユーザー名/template.git
$ git push -u origin main
4. Reactアプリをビルドする
package.json
に以下の内容を追記します。
<Githubアカウント名>
にはご自身のGithubアカウント名を、<リポジトリ名>
には作成したリポジトリの名前を入れます。
(いずれも山括弧は不要)
{
+ "homepage": "https://<Githubアカウント名>.github.io/<リポジトリ名>/",
"name": "<プロジェクト名>",
"version": "<バージョン>",
"private": true,
// 省略
"scripts": {
+ "deploy": "rm -rf docs && npm run build && mv build docs",
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
}
追記が完了しましたら以下のコマンドを実行して、
Dockerfile
とdocker-compose.yml
ファイルがあるディレクトリに移動し、
docker-composeコマンドを実行します。
※Dockerを使用していない場合は、ディレクトリを移動せず単にnpm run deploy
で問題ありません。
$ cd ../..
$ docker-compose run --rm app sh -c 'cd <プロジェクト名> && npm run deploy'
5. コミット&プッシュをする
以下のコマンドを実行し、プロジェクトのディレクトリに移動し、コミット&プッシュをします。
$ cd app/<プロジェクト名>
$ git add .
$ git commit -m "build"
$ git push -u origin main
6. Github Pagesの公開設定をする
左サイドバーにあるCode and automationの Pages
を選択します。
数分程度待つとデプロイされ、公開したWebページのURLが表示されます。
URLにアクセスすると、作成したReactアプリを確認することができると思います。
最後に
以上がGithub Pagesを用いたReactアプリの公開手順となります。
Github PagesでReactアプリを手軽に公開することができ、便利だと感じました。
皆さんもぜひGithub Pagesを使って、作成したReactアプリを公開されてみてはいかがでしょうか。
参考文献