我正在将TeamCity设置为我的构建服务器.
我已经设置了我的项目,它正在从subversion正确更新,并且构建正常.
下一个是什么?
理想情况下,我希望将其自动部署到测试服务器,手动部署到实时/临时服务器.
最好的方法是什么?
由于我使用的是C#/ ASP.Net,我应该在我的解决方案中添加Web部署项目吗?
本文介绍如何从TeamCity调用Microsoft的WebDeploy工具以将Web应用程序部署到远程Web服务器.我一直在使用它来部署到测试Web服务器并在签入时运行selenium测试.
http://www.mikevalenty.com/automatic-deployment-from-teamcity-using-webdeploy/
安装WebDeploy
启用Web配置转换
配置TeamCity BuildRunner
配置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
我写了一篇关于这个话题的博文很长,可能会让你感兴趣:
http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn
基本上:
安装Web部署项目
将Web部署项目添加到您的解决方案
设置解决方案配置管理器以具有"部署"构建配置
让团队城市在运行构建时使用此构建开关
在你的自动化程度很高的时候喝一杯啤酒,并在荣耀中熠熠生辉
通常我所做的是创建一个Wix安装程序.可以使用MsBuild构建Wix项目,这样您就不会遇到任何问题.
另外,我建议查看以下用于自动部署的MsBuild扩展:
http://www.codeplex.com/MSBuildExtensionPack
http://msbuildtasks.tigris.org/
我希望这有帮助.
我们使用Octopus Deploy来管理Team city之上的环境.
作为构建过程,我们有Octopus Release和Octopus Deploy在Octupus中创建一个版本,然后自动部署;
由于Octopus正在管理我们的环境,它还提供了我们广泛使用的变量,并且可以使用相同的构建来共同创建新环境.