【问题标题】:Deployment process for site maintained by 2 companies由 2 家公司维护的站点的部署过程
【发布时间】:2011-03-04 12:00:27
【问题描述】:

我在一家机构工作,该机构多年来一直与另一家机构一起负责维护客户的 .net 3.5 网站。客户几乎临时将工作外包给这两个机构。

该站点相当古老,并且具有与之匹配的结构和部署过程。该站点设置为开发人员拥有站点的本地副本。有一个登台环境,客户反馈和批准发生在此环境中,然后是现场环境。在许多情况下,一个机构的工作将在暂存环境中等待批准,而另一个机构的更改需要经过暂存、批准和部署才能生效,而不影响原始更改。大多数时候我们都可以侥幸解决,但这远非理想,因为并非所有冲突都可以解决。

直到最近,我们仍然使用 Sourcesafe,但已经转移到 Subversion,并且遇到了更多工作被覆盖的情况。这显然不是颠覆的错误,而是在 Sourcesafe 中锁定项目和文件可以很好地向两个机构的开发人员表明有人正在处理该项目或文件。之前的过程是您从 sourcesafe 签出一个文件并一直签出,直到更改生效(承认这是一个垃圾过程,因此希望摆脱 sourcesafe 和这样的模型)

问题在于,即使我们知道我们现在的做法很糟糕,但对于如何重组整个网站和部署流程以使其“更好”,我还是有点茫然。我们思考过的一些想法是:

  • 在 subversion 中分离 dev、test 和 live 分支,因此我们需要在部署之前提交并构建适当的分支(不太确定如何实现)
  • 两个机构的单一存储库,但每个机构都有一个单独的暂存环境。然后,暂存环境可以反映分配给每个机构的更改
  • 每个分支的临时站点的单独实例

非常感谢来自 SO 社区的后续步骤或类似情况和解决方案示例的任何建议!

谢谢

乔尔

【问题讨论】:

    标签: asp.net deployment svn


    【解决方案1】:

    我会推荐:

    • 使用 git,它非常适合解决如何合并更改。
    • 为每个公司设置单独的暂存环境,然后,一旦更改获得批准,就(小心地)合并到最终的暂存环境中,该环境的存在只是为了帮助解决我们在那里的合并问题,然后开始运行。
    • 还要确保两个机构都知道谁在做什么,并尝试等待另一个机构完成应用程序的 X 部分工作,直到另一个机构完成,最后这是最好的解决方案,一点点沟通.

    【讨论】:

    • 感谢您的评论。我以前没有使用过 git,所以肯定会看看它。我喜欢单独的暂存环境的想法,但是您如何看待合并到最终暂存环境的过程?颠覆的设置(或我们如何使用)是否需要从仅使用主干进行更改??
    • 对不起,从未使用过颠覆,虽然我知道它很受欢迎。我看到最终集结区一次由一方“控制”,同时仍允许单独的集结区进行测试。
    • 我认为我们要为每个公司提供一个拆分测试环境,并为每个公司提供单独的颠覆存储库。然后,我们将拥有一个“上线前”环境,用于在实时部署之前集成和测试更改。还会有一个主 subversion 存储库,当我们发送实时内容时,我们会合并到其中……subversion 很好地处理了分支的合并。我们会尝试一下,但从理论上讲,这听起来像是一种有效的方法,可以解决很多(如果不是全部)我们的问题
    猜你喜欢
    • 2011-03-13
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    相关资源
    最近更新 更多