Gitの管理方法のメモ。
※前提条件
この記事は「A successful Git branching model」をある程度知っている人向けになります。
A successful Git branching model
本番環境への調整は「production」ブランチにて
WEBシステム開発でGitでバージョン管理をすることになった。
そこで問題になったことは、開発環境と本番環境では使用するDBが違うため、開発と本番をどのようにGitで管理してよいかです。
結論から言うと、開発自体は開発環境(DBの向き先は開発用)で作成し、本番環境への調整は「production」ブランチを作り、そこで調整します。
ブランチの管理方法は、「A successful Git branching model」を使うことにしました。
「A successful Git branching model」を使えば、ソースコードの管理しやすくなります。
しかし、開発環境と本番環境では使用するDBが違います。
「A successful Git branching model」は、開発環境と本番環境の切り分けまで考慮されていません。
本番環境:
・WEBサーバ
・DB(ドメインB)
開発環境:
・WEBサーバ
・DB(ドメインA)
上記の環境だと使用するDBが違うため、接続先の情報を本番環境と開発環境で分ける必要があります。
そこで、本番環境調整用に「production」ブランチを作ることで解決しました。
master,developおよび、それから派生する全てのブランチではDBの接続先を開発環境にします。
リリース直前にmasterブランチにマージします。masterブランチから派生させたproductionブランチで本番環境の設定します。
一度、本番向けの設定をすれば、以降、masterからマージすれば本番向けのWEBシステムができます。
全体的なGitのブランチ構成
全体的なブランチ構成を記載します。
■master
製品版のログとして残します。
「A successful Git branching model」では、DBの向き先は本番にしますが、ここではサーバーの向き先は開発環境です。
本番向けの設定は、このあと説明するproductionブランチで作成します。
■develop
開発用のメインブランチです。
マージ先・・・master
■feature
featureは、機能ごとに作成する
developブランチから派生させて作成します。
■release
リリース向けの調整・バグ修正するためのブランチです。
製品版の調整が終わったらmasterブランチにマージします。
■hotfixes
リリース後に発生した不具合修正用のブランチです。masterから派生させて作成する。
完了後、production,develop,masterにマージする。
ブランチ派生元・・・master
マージ先・・・develop and master
■production
本番環境へのデプロイ用のブランチです。
DBの接続先は、本番向けになります。
このブランチの内容を他のブランチにマージしてしまうと、DBの向き先がおかしいことになってしまうので、やらないように注意します。
ブランチ派生元・・・master
マージ先・・・なし
まとめ
いかがでしょうか?
この記事は、あくまでも開発環境と本番環境を管理する方法の一例です。
他にも良い管理方法があったら教えてほしいと思います。