【问题标题】:How do I setup a build for a particular environment in TFS如何在 TFS 中为特定环境设置构建
【发布时间】:2013-09-06 05:02:24
【问题描述】:

我们有一个大型 Web 应用程序,它使用 TFS 2012 连续运行单元测试、bdd 测试并生成通用构建。我们的环境(UAT、Pre-Prod 等)位于 dmz 中,对我们的开发基础设施的访问权限有限,但我们可以调用一个查询 TFS 服务器并获取通用构建的 powershell 脚本。然后我去修改相关环境的配置,这是一项重复且容易出错的任务。

我们的 Web 应用程序有多个配置文件,我使用 Slow Cheetah 来创建环境特定的转换,例如。 ConnectionsStrings.UAT.Config 等。我想要的是在 TFS 中设置构建质量,它将参数 /p:EnviroTarget="UAT" 传递给 MSBuild 并应用适当的转换,从而生成适当标记的环境特定构建.我有适用于本地机器的转换,我在其中手动指定了哪个 EnviroTarget(以及要应用哪些配置转换)。

我的问题是如何调用 MSBuild 以根据构建质量的变化创建新构建,以便可以在独立于开发人员工作站的 CI 服务器上创建这些构建?

这种事情可能吗?我知道我计划查看一个名为 TFSDeployer 的项目 - 但是如果需要作为代理运行,那么它必须能够始终与所有环境中的 TFS 通信 - 这对我们来说似乎是一个困难的障碍网络。更简单的选择(在我看来)是通过 powershell 在 UAT 服务器上引入最新的 UAT 版本。

希望我在这里说得通:-)

【问题讨论】:

    标签: tfsbuild


    【解决方案1】:

    如果您使用的是 Visual Studio 2012 和 Web 项目,您可以使用配置转换为不同的环境发布构建。

    http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

    使用发布配置文件将不同的环境构建到不同的文件夹中。然后编写 power shell 脚本来获取构建并更新您的 UAT 或其他环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-27
      • 2021-01-31
      • 1970-01-01
      • 2018-06-09
      • 2023-03-19
      • 1970-01-01
      • 2012-09-17
      • 2018-02-17
      相关资源
      最近更新 更多