2010-06-16 72 views
1

我为一家机构工作,该机构一直负责与其他机构一起维护客户的.net 3.5网站多年。客户在相当临时的基础上为两个机构开展工作。由2家公司维护的网站的部署过程

该网站是相当古老,并具有相匹配的结构和部署过程。该网站设置为开发人员拥有本地网站副本。有一个临时环境,客户反馈和批准发生,然后是现场环境。有很多情况下,一个机构的工作将在分级环境中等待审批,而其他机构的变更需要通过分级,审批和部署来生活,而不会影响原始变更。大多数情况下,我们都会摆脱困境,但这并非理想,因为并非所有的冲突都可以得到解决。

直到最近,我们仍然在使用Sourcesafe,但已经转移到Subversion,并且遇到了许多覆盖工作的场景。这显然不是Subversion的错,相反,将Sourcesafe中的项目和文件锁定为来自两个机构的开发人员的一个很好的指示,表明有人正在处理该项目或文件。之前的过程是,你从sourcesafe中检出了一个文件,并保存它直到更改生效(承认这是一个垃圾过程,因此希望摆脱sourcesafe和这样一个模型)

问题是,即使我们知道我们现在做的方式很糟糕,但我在如何重组整个站点和部署过程以使其“更好”方面面临一些损失。我们思考的一些想法是:颠覆

  • 独立开发,测试和现场分支,所以我们需要承诺和部署之前建立相应的分支(真的不知道如何使这项工作)
  • 单个存储库对于两个机构而言,每个机构都有独立的分期环境。临时环境则可以反映分配给每家机构的变化
  • 临时网站的每个分支

的下一个步骤,或从SO社区类似的情况和解决方案的例子有什么建议一个单独的实例,将不胜感激!

感谢

乔尔

回答

0

我会建议:

  • 使用git,它真的很为工作如何合并更改良好。
  • 对于每家公司都有独立的登台环境,然后,一旦变更获得批准,就可以合并(愉快地)进入最终的登台环境,这个登台环境只存在于帮助排序我们的合并问题,然后推动生活。
  • 还要确保两个机构都知道谁在做什么,并试图等待另一个机构完成应用程序的第X部分,直到其他机构完成,最终这是最好的解决方案,有点沟通。
+0

感谢您的评论。我之前没有使用git,所以一定会看看它。 我喜欢单独登台环境的想法,但您如何看待融入最终登台环境的过程? (或我们如何使用)颠覆的设置是否需要从使用干线改变? – swingdoctor 2010-06-17 09:27:08

+0

对不起,从来没有使用过颠覆,但我知道它很受欢迎。我看到最终的临时区域被一方当事人“举行”,同时仍然允许单独的测试区域进行测试。 – thomasfedb 2010-06-18 15:14:02

+0

我认为我们要与每个公司分开的测试环境以及为每个公司分开的Subversion存储库。然后,我们将有一个“预生活”环境,用于在部署现场之前集成和测试更改。还会有一个主要的Subversion版本库,当我们发送一些内容时,我们会将它合并到一起...... subversion处理分支的合并很好。 我们会试试这个,但从理论上讲,这听起来像是一个有效的方法,可以解决很多问题,即使不是全部,我们的问题 – swingdoctor 2010-06-22 15:05:37