2

新しい製品のリリースでは、次のサーバー/リリース構造が計画されています。

リリース構造

さまざまな管理上の理由により、現在、2 つの異なる SVN リポジトリを持つことが最終的な管理上の決定となっています。Anazon EC2 で実行されている実稼働サーバー (赤で表示されている製品 SVN) に 1 つ。その他は、ローカルの Linux サーバー (緑) にあります。

これを技術的に達成する方法に行き詰まっています。私の問題は、ローカル サーバー コードベース (Scaling codebase上の図) をローカル SVN から更新する必要がありますが、プロダクション SVN にコミットする必要があることです。これを達成することが技術的に可能かどうかはわかりませんでした。他のオプションを検討する前に、技術的に可能かどうかコミュニティに尋ねたいと思います。

4

3 に答える 3

3

以前の回答に反して

ワークフローのための純粋な SVN 方式

サクリングトイレ付

svn up
svn relocate ProdSVN
svn ci
svn relocate LocalSVN

サクリングトイレなし

直接通信 LocalSVN -> ProdSVN が可能になる場合、SaclingCodebase を同期プロセスから除外できます(チェーンが減り、エラーが減ります)。

また

また

于 2012-10-13T13:48:06.260 に答える
1

これを行う 1 つの方法は、単一のレポ (おそらくグリーン サーバー上) を保持し、そのレポのリリース ブランチを運用サーバーにチェックアウトすることです。

したがって、ワークフローは次のようになります。

dev でチェックアウト^/trunk(またはトランクのフィーチャー ブランチ) してから、 から までのリビジョンをチェリー ピック^/trunk^/branches/releaseます。

于 2012-10-13T11:06:23.860 に答える
1

Local SVN から更新されましたが、Production SVN にコミットする必要があります。

これは、Bazaar、Git、Mercurial などの分散バージョン管理システム DVCS の一般的な機能です。

だから、私の考えでは、2つの解決策:

1/ それでも SVN を保持したい場合: Bazaar/Git/Mercurial を使用して SVN リポジトリをチェックアウトし、別の SVN リポジトリにプッシュ/コミットします。
ほとんどの DVCS ツールには、SVN リポジトリにアクセス (チェックアウト/プッシュ) するためのプラグインがあるため、これが可能です。

2/システムを Bazaar のような完全な DVCS に変更します。これは SVN に非常に近いため、ユーザーが失われることはありません。

次の返信をご覧ください:
複数のソース コード リポジトリ

于 2012-10-13T10:58:03.877 に答える