私の会社は、GITを使用してリポジトリを再構築中です。基本的に、次のようになります。
- (A)ビルドされた本番デプロイメントのビルドされていないミラーであるマスターリポジトリ
- (B)ホットフィックスに使用される継続的インテグレーションブランチ、
- (C)メジャー/マイナーアップデートに使用されるリリースブランチ
- (D)長期機能ブランチ
それがどのように機能する必要があるか:
- (A)がマスターコピーになります。ベータテスターを除いて、誰もが常に(A)のビルドバージョンを使用します。
- (B)ホットフィックスを含む、夜間またはオンザフライ(必要な方)の更新になります。(B)ユニットテスト、次に廊下テストを経由します。(B)がテストを終了したら、すべての並行開発で最新のバグ修正が行われるように、(A)と(C)および(D)にマージする必要があります。
- (C)は毎月リリースされます。ユニットテスト(すべてのように)、廊下テスト、そしてステージングサーバー(ベータ版)でのユーザーテストが行われます。
- (D)は、理論的には(C)に折りたたまれ、その中で解放されます。
私は現在、Apache AntとIvyを使用して、ビルドとともにこのプロセスを自動化するツールを開発しています。スタッフは(A)にプッシュされますが、ビルドされて本番環境にもプッシュされます。このプロセスはe2eテストを実行し、成功した場合は、ドキュメントの自動化、ソースコードのコンパイル、およびビルドされた製品の本番環境へのデプロイを続行します。本当の課題は、これらのさまざまなプロセスすべてのバランスをとる方法を見つけることです。
さて、質問に移りましょう。私が知る必要があるのは、いわば車輪の再発明を行わないように、この種のパターンを処理できる開発「モデル」があるかどうかです。
私たちが話しているテクノロジーは、NodeJSで実行されているバックエンドへのWebSocket接続を備えたHTML5、CSS3、JavaScriptです。前もって感謝します。
編集
また、リポジトリを使用しない方法(コード管理ツールなど)があれば、ぜひ教えてください。再度、感謝します