1

私たちは Web サイトで作業している 2 人の開発者です。私はプロジットブックを読んできましたが、私たちにとって正しいワークフローとセットアップが何であるかを理解するのに苦労しています. 関連するコミットを行うときに、本番サーバーとステージング サーバーが自動的に更新されるようにしたいと考えています。このワークフローを最適化する方法について、または何か間違ったことをしている場合は、アドバイスをいただければ幸いです。現在の考えは以下です。

ローカル ワークステーション

ローカル レポ ブランチ

  • マスター (開発) 追跡オリジン/マスター
  • 生産追跡の起源/生産

ワークフロー

  1. 一般的な開発は、マスターから分岐し、変更を元にマージすることによって行われます。
  2. 更新をパートナーと共有し、ライブ Web サーバーでテストする準備ができたら、マスターをオリジンにプッシュします。
  3. Web サーバーでのテストが完了したら、マスターを本番環境にマージし、本番環境をオリジンにプッシュします。

Web サーバー (オリジン)

  • マスター ブランチとプロダクション ブランチを含むベア リポジトリ。
  • 2 つの仮想サーバー。1 つはステージング用、もう 1 つは本番用。
  • 各仮想サーバーのドキュメント ルートは、同じサーバー上のベア リポジトリからプルする git リポジトリです。
  • ベア リポジトリには、コミットされたブランチを検出するポスト コミット フックがあります。マスター ブランチがコミットされると、ステージング仮想サーバーのドキュメント ルートから git pull origin/master が実行されます。production ブランチがコミットされると、git pull origin/production が
    production 仮想サーバーのドキュメント ルートから実行されます。
4

1 に答える 1

1

nvie.com による成功した git 分岐モデルに従って、分岐し、運用分岐としてdevel持ってmasterいます。

さらに、ドキュメントのデプロイとビルドをトリガーするためにフックしましpost-updateた。これは、遅延して行われます (XMPP を介したパブリッシュ/サブスクライブ)。

それ以外はまったく同じで、私にはかなり賢明に見えます。

于 2012-09-06T12:19:15.330 に答える