注目キーワード

開発環境と本番環境をGitで管理するには?

 

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

マージ先・・・なし

 

まとめ

いかがでしょうか?

この記事は、あくまでも開発環境と本番環境を管理する方法の一例です。

他にも良い管理方法があったら教えてほしいと思います。