0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubで1つのリポジトリにフロントエンドとバックエンドのアプリを管理する

Posted at

フロントエンド(React)とバックエンド(Rails)を分けたアプリケーションを作成するにあたって、GitHubでのリポジトリ構成に悩んだ点のの自分記録。

最終的には、自分のは個人開発だし、pushは一回にしたいと思ったので1つのリポジトリに2つのアプリケーションを入れることにした。(モノレポというらしい)

モノレポにした方法

①GitHubにリモートリポジトリを作成する
②ローカルでプロジェクトディレクトリを作成
③プロジェクトリポジトリ配下でrails new -apiとnpx create-react-upを実施
④プロジェクトリポジトリに.gitignoreを作成
⑤.gitignoreにrailsとreactのそれぞれの.gitignoreの内容をコピーして貼り付け
⑥プロジェクトリポジトリをgitの管理下にし、gitpushまで実行

サブモジュールという方法

フロントエンドとバックエンドをそれぞれGitHub上にリポジトリを作成し
そのコミット歴を管理するリポジトリ(プロジェクトリポジトリとする)を別で作成する

プロジェクトリポジトリはフロントエンドとバックエンドのリポジトリのコミット歴を
管理し、各リポジトリへのリンクが作成できる。

こちらの説明がわかりやすかった。

それぞれのメリット

モノレポ

  • 1つのリポジトリでプロジェクト管理できて見やすい
  • それぞれのコミット歴が一度に参照しやすい
  • issueやプルリクの場所が1つ

サブモジュール

  • 各サブモジュールの更新やテストが独立して行える
  • サブモジュール内でのコミット歴がわかりやすい
  • リポジトリサイズが軽量

大きなプロジェクトで複数人が携わる場合は、モノレポにするとリポジトリが肥大化する、複数人の変更が衝突しやすいなど向かないように感じた。

一方で個人の場合には、1つのリポジトリで関連するコミット履歴が確認できるので管理しやすい。
そのため、今回はモノレポで作成してみた。

まとめ

これまでRailsフルスタックのアプリのみ作成していたため、フロントとバックで分けた場合のGitHub管理はどうするのかという点で疑問を持った。
調べてモノレポにしたが、今のところ本番環境へのデプロイもでき、特に問題なく進められている。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?