使用TeamCity构建后如何部署?


75

我将TeamCity设置为构建服务器。

我已经设置了我的项目,它正在从Subversion正确更新,并且构建正常。

下一个是什么?

理想情况下,我希望将其自动部署到测试服务器,并手动部署到实时/登台服务器。

最好的方法是什么?

由于我使用的是C#/ ASP.Net,是否应该在解决方案中添加Web部署项目?


1
您看过Inedo的BuildMaster吗?我看到的一个常见工作流程是将构建工件从TeamCity中取出,并使用BuildMaster部署/配置到各种服务器。快速参考文章:inedo.com/support/kb/1031/…(免责声明:我为Inedo工作)
Karl Harnagy 2013年

我之前也提出过类似的建议,但我不为Inedo工作。值得一看。
达蒙

Answers:


61

本文介绍了如何从TeamCity调用Microsoft的WebDeploy工具,以将Web应用程序部署到远程Web服务器。我一直在使用它来部署到测试Web服务器并在签入时运行硒测试。

http://www.mikevalenty.com/automatic-deployment-from-teamcity-using-webdeploy/

  1. 安装WebDeploy
  2. 启用Web配置转换
  3. 配置TeamCity BuildRunner
  4. 配置TeamCity构建依赖项

适用于我的应用程序的MSBuild参数为:

/p:Configuration=QA  
/p:OutputPath=bin  
/p:DeployOnBuild=True  
/p:DeployTarget=MSDeployPublish  
/p:MsDeployServiceUrl=https://myserver:8172/msdeploy.axd  
/p:username=myusername  
/p:password=mypassword  
/p:AllowUntrustedCertificate=True  
/p:DeployIisAppPath=ci  
/p:MSDeployPublishMethod=WMSVC

部署完成后,如何设置电子邮件通知?
user384080 2013年

@Michael Valenty:我尝试使用给出的解决方案MSBuild.exe C:\BuildAgent\work\4c7b8ac8bc7d723e\WebService.sln /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://204.158.674.5/msdeploy.axd /p:username=Admin /p:password=Password#321 /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=Default WebSite/New /p:MSDeployPublishMethod=WMSVC。它给我一个错误`MSBUILD:错误MSB1008:只能指定一个项目。切换:网站/新版
Nevin Raj Victor,

14

我在这个话题上写了一篇很长的博客文章,您可能对此感兴趣:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

基本上:

  • 安装Web部署项目
  • 将Web部署项目添加到您的解决方案
  • 设置解决方案配置管理器以具有“部署”构建配置
  • 让团队城市在运行构建时使用此构建开关
  • 喝啤酒,对自己神奇的奇妙赞叹不已

2
请注意,此答案与vs2013 +不再相关,因为他们删除了Web部署项目
enorl76


10

我们正在使用Octopus Deploy在Team city之上管理我们的环境。

作为构建过程,我们有一个Octopus版本和Octopus Deploy在Octupus中创建一个版本,然后该版本也将自动部署。

由于Octopus正在管理我们的环境,因此它还提供了我们广泛使用的变量,并且可以使用同一构建共同创建一个新环境。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.