对于新产品版本,我们计划了以下服务器/发布结构。
出于不同的管理原因,现在最终管理层决定拥有两个不同的SVN存储库;一个在Anazon EC2上运行的生产服务器(Prod.SVN显示为红色)。其他是在本地Linux服务器上(绿色)。
我遇到了如何在技术上实现这一目标。我的问题是,本地服务器代码库(上图中的Scaling codebase
)应该从本地SVN更新,但应该提交给生产SVN。我无法找到在技术上是否可行。在我看其他选项之前,我想问一下社区是否在技术上可行,如果是,是怎么回事?
答案 0 :(得分:3)
与之前的答案相反
svn up
svn relocate ProdSVN
svn ci
svn relocate LocalSVN
如果直接通信LocalSVN - > ProdSVN将成为可能,SaclingCodebase可以从同步过程中排除 (减少链,减少错误):
或
或
答案 1 :(得分:1)
从本地SVN更新,但应提交生产SVN。
这是分布式版本控制系统DVCS(如Bazaar,Git或Mercurial)的常见功能。
所以,在我看来,有两个解决方案:
1 /如果你还想保留SVN:使用Bazaar / Git / Mercurial签出 SVN仓库并推送/提交到另一个SVN仓库。
这是可能的,因为大多数DVCS工具都有一个插件来访问(检出/推送)SVN存储库。
2 / 将您的系统更改为完整的DVCS ,如Bazaar,它与SVN非常接近,用户不会丢失!
答案 2 :(得分:1)
这样做的一种方法就是只使用一个repo(可能在绿色服务器上),并在生产服务器上签出该repo的发布分支。
所以工作流程将是:
在dev上结帐^/trunk
(或主干的功能分支),然后从^/trunk
到^/branches/release
进行挑选修订。