.net 与TeamCity一起部署

.net 与TeamCity一起部署,.net,desktop-application,setup-deployment,teamcity-7.0,.net,Desktop Application,Setup Deployment,Teamcity 7.0,我们的团队启动了一个由4个项目组成的解决方案—一个桌面应用程序、2个web应用程序、一个win—和一个web服务 我们决定将TeamCity用作CI服务器,并决定将其用作构建安装包(夜间构建)。Google向我展示了很多关于如何使用.zip包部署web应用程序的文章,但没有人介绍如何创建msi或安装程序 也没有关于如何为非网络项目做同样的事情的线索——桌面应用程序、网络和双赢服务也是如此 是否有人使用TeamCity构建和部署非web应用程序?免责声明:我不使用TeamCity构建Windows

我们的团队启动了一个由4个项目组成的解决方案—一个桌面应用程序、2个web应用程序、一个win—和一个web服务

我们决定将TeamCity用作CI服务器,并决定将其用作构建安装包(夜间构建)。Google向我展示了很多关于如何使用.zip包部署web应用程序的文章,但没有人介绍如何创建msi或安装程序

也没有关于如何为非网络项目做同样的事情的线索——桌面应用程序、网络和双赢服务也是如此


是否有人使用TeamCity构建和部署非web应用程序?

免责声明:我不使用TeamCity构建Windows非web应用程序。主要是Java web或独立应用程序以及iOS和Android应用程序

在teamcity中,有一个
“Visual Studio(sln)
”构建步骤类型,请尝试查看是否可以利用该类型

或者,我将研究是否可以使用
MSBuild
构建msi和安装程序,如果可以,我可以在teamcity中添加
MSBuild
类型构建步骤来创建msi或安装程序

或者,我可以想象自己正在尝试创建一个
cmd
powershell
脚本来使用构建msi,并在我的teamcity构建代理上安装
WiX


然后在Teamcity项目设置中,添加一个调用此构建脚本的构建步骤(键入
命令行
Powershell
)。

我选择Dao方式-NAnt+Teamcity-NAnt脚本制作,构建解决方案,通过编译设置项目准备设置

仅此而已……

我使用Visual Studio(VS 2012)构建运行程序。我有一个参数system.OutDir,我指定了一个输出目录

然后我运行了一个powershell脚本,它将system.OutDir的内容自动复制到我们的NAS中,并使用包含正确连接字符串的另一个web.config覆盖构建输出中的web.config


非常容易设置-并且您不必处理web.config转换。

根据Teamcity的[支持的平台和环境](),
Visual Studio(sln)
构建步骤需要在构建服务器上安装VS.NET。但是
MSBuild
生成类型只需要安装
.Net Framework
。如果由于某种原因无法在生成服务器上安装VS.NET,是否可以使用
MSBuild
生成类型?是否考虑过ClickOnce?2remi-此生不使用…)