私たちは Web サイトで作業している 2 人の開発者です。私はプロジットブックを読んできましたが、私たちにとって正しいワークフローとセットアップが何であるかを理解するのに苦労しています. 関連するコミットを行うときに、本番サーバーとステージング サーバーが自動的に更新されるようにしたいと考えています。このワークフローを最適化する方法について、または何か間違ったことをしている場合は、アドバイスをいただければ幸いです。現在の考えは以下です。
ローカル ワークステーション
ローカル レポ ブランチ
- マスター (開発) 追跡オリジン/マスター
- 生産追跡の起源/生産
ワークフロー
- 一般的な開発は、マスターから分岐し、変更を元にマージすることによって行われます。
- 更新をパートナーと共有し、ライブ Web サーバーでテストする準備ができたら、マスターをオリジンにプッシュします。
- Web サーバーでのテストが完了したら、マスターを本番環境にマージし、本番環境をオリジンにプッシュします。
Web サーバー (オリジン)
- マスター ブランチとプロダクション ブランチを含むベア リポジトリ。
- 2 つの仮想サーバー。1 つはステージング用、もう 1 つは本番用。
- 各仮想サーバーのドキュメント ルートは、同じサーバー上のベア リポジトリからプルする git リポジトリです。
- ベア リポジトリには、コミットされたブランチを検出するポスト コミット フックがあります。マスター ブランチがコミットされると、ステージング仮想サーバーのドキュメント ルートから git pull origin/master が実行されます。production ブランチがコミットされると、git pull origin/production が
production 仮想サーバーのドキュメント ルートから実行されます。