【问题标题】:Deploying with TeamCity使用 TeamCity 进行部署
【发布时间】:2013-04-18 06:35:27
【问题描述】:
我们的团队启动了一个由 4 个项目组成的解决方案 - 一个桌面应用程序、2 个 Web 应用程序、一个 win 和一个 Web 服务。
我们决定将 TeamCity 用作 CI 服务器,并决定将其用于构建安装包(夜间构建)。 Google 向我展示了很多关于如何使用 .zip 包部署 Web 应用程序的文章 - 但没有人介绍如何创建 msi 或设置。
也没有关于如何对非 Web 项目执行相同操作的线索 - 桌面应用程序、Web 服务和 win 服务也是如此。
是否有人使用 TeamCity 构建和部署非 Web 应用程序?
【问题讨论】:
标签:
.net
desktop-application
setup-deployment
teamcity-7.0
【解决方案1】:
免责声明:我不使用 Teamcity 构建 Windows 非 Web 应用程序。主要是 Java Web 或独立应用程序以及 iOS 和 Android 应用程序
在teamcity中,有一个"Visual Studio (sln)"构建步骤类型,试试看能不能用。
或者我会调查是否可以使用 MSBuild 构建 msi 和设置,如果可能的话,我可以在 teamcity 中添加一个 MSBuild 类型的构建步骤来创建 msi 或设置。
或者我可以想象自己尝试创建一个cmd 或powershell 脚本来使用WiX Toolset 构建msi,并在我的teamcity 构建代理上安装WiX。
然后在 Teamcity 项目设置中,添加调用此构建脚本的构建步骤(键入 Command Line 或 Powershell)。
【解决方案3】:
我使用 Visual Studio (VS 2012) 构建运行器。我有一个参数 system.OutDir,我指定了一个输出目录。
然后我运行了一个 powershell 脚本,它将 system.OutDir 的内容自动复制到我们的 NAS,并使用包含正确连接字符串的不同 web.config 覆盖构建输出中的 web.config。
非常容易设置 - 您不必处理 web.config 转换。