【问题标题】:Best way to do Visual Studio post build deployment in a team environment?在团队环境中进行 Visual Studio 后期构建部署的最佳方式?
【发布时间】:2010-09-09 16:37:03
【问题描述】:

我在一个团队环境中工作,每个开发人员都从他们的本地桌面工作并部署到他们在网络上拥有的虚拟机上。我要做的是设置 Visual Studio 解决方案,以便在他们构建解决方案时,每个项目部署都在该开发人员虚拟机的构建后事件中处理。

我真正想做的是将这些脚本的所有权也授予个人开发人员,以便他们拥有自己的后期构建步骤,并且不必对每个人都一样。

几个问题:

  • 构建后事件是执行此类部署操作的地方吗?如果不是,最好的地方是什么?
  • 有哪些软件、工具或教程/博客文章可用于帮助开发支持这些场景的自动部署系统?

编辑: MSBuild 似乎是在这种情况下要走的路。有人使用替代技术取得了成功吗?

编辑:如果您正在阅读此问题并想知道如何为每个开发人员执行一组不同的 MSBuild 任务,请参阅此问题; Executing different set of MSBuild tasks for each user?

【问题讨论】:

    标签: visual-studio deployment build


    【解决方案1】:

    如果您使用的是 Visual Studio 2005 或更高版本,则项目文件是 MSBUild 文件。在 MsBuild 文件中,有一个“AfterBuild”目标。我建议使用它来完成部署任务,而不是 Post Build Event。

    通过使用 MSBuild 任务,您可以更好地进入持续集成系统,如 CruiseControl.NET 或 Team City。

    我不确定为什么您的所有开发人员都拥有自己的虚拟机,在某些时候您似乎想要一个所有开发人员工作的中心位置,以确保所有开发人员的代码都能集成和构建(这是使用持续集成系统的原因)。我相信您可以找到一种方式,CruiseControl.Net 或 Team City 或其他几个选择之一可以在这种情况下为您提供帮助。但就获取初始设置而言,请使用 MSBuild。

    【讨论】:

    • 我们将有一个用于登台和测试的通用环境,但我不希望开发人员在每次构建时都相互部署。然而,我确实想给他们一个真正的服务器来使用,而不要求他们在他们的机器上安装 Win 2k8、SQL、MOSS 等。 MSBuild 可能是我们的正确答案。
    • 我仍然建议使用 CI 工具,以便至少在一个环境中始终运行所有部分的总和。然后你也可以进行自动化测试。
    • 我不确定您为什么担心开发人员相互部署?如果您使用源代码控制,它们不应该都使用相同的代码构建吗?他们不应该部署未签入的代码。
    【解决方案2】:

    我会研究 MSBuild 或 ANT

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多