Mat*_*ick 7 svn deployment version-control branch repository
作为一名开发人员多年来,我应该知道这一点,但事实并非如此.
我正在一个小团队中发布一个已发布的产品.我是提交大部分代码的主要开发人员,但还有一些其他开发人员不时提交.目前,我们有一个运行Hudson CI的登台服务器,它在每次提交后构建.当中继线稳定并经过测试时,通过简单的svn up命令手动更新生产.
这通常工作正常,但是当代码未在主干中最终确定时,我们确实有需要紧急/紧急更改生产的情况.
如何设置回购以适应这种情况?我认为这个回复是一个很好的回复,但它仍然有点过头了.
我在想,在更新生产时,在该版本中创建一个分支.但是,如果我需要进行紧急生产修复,我该如何访问该分支,如何通过从该分支而不是中继来更新生产?如何确保生产分支的任何紧急修复程序也已提交到主干?
即.这是我希望有更好的解决方案的情况,因为它已经发生了几次
更新:
阅读完SVN Book的分支部分后,我正在考虑以下设置.
准备好推进生产时创建分支
svn copy /trunk /branches/production_01 -m 'Production release'
在生产时,切换到生产分支
svn switch /branches/production_01
如果需要紧急修复,开发人员需要在分支中进行更改:
svn checkout /branches/production_01
// make changes
svn merge /trunk # make sure changes get merged into trunk as well
svn commit -m 'Urgent fix
在制作时,更新到最新的分支
svn update
这个过程听起来像我们的设置吗?
解决这个问题有不同的方法,但我认为我见过的最有效的方法如下:
所以基本上任何进入主干的代码都是来自分支的合并;这样,主干仅包含要发布的代码,并且您不必进行尴尬的代码回滚或从修订版分支。
缺点是您需要不同的 CI 环境,每个分支具有不同的应用程序服务器域,以及主干和预生产环境。
归档时间: |
|
查看次数: |
2286 次 |
最近记录: |