我正在将TeamCity设置为我的构建服务器。
我已经设置了项目,它正在从subversion正确更新,并且构建正常。
接下来是什么?
理想情况下,我希望将其自动部署到测试服务器,并手动部署到实时/临时服务器。
最好的方法是什么?
由于我使用的是C#/ ASP.Net,我应该在我的解决方案中添加Web部署项目吗?
答案 0 :(得分:58)
本文介绍如何从TeamCity调用Microsoft的WebDeploy工具以将Web应用程序部署到远程Web服务器。我一直在使用它来部署到测试Web服务器并在签入时运行selenium测试。
http://www.mikevalenty.com/automatic-deployment-from-teamcity-using-webdeploy/
适用于我的应用程序的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
答案 1 :(得分:14)
我写了一篇关于这个主题的博文很长,可能会让你感兴趣:
基本上是:
答案 2 :(得分:10)
我通常做的是创建一个Wix安装程序。可以使用MsBuild构建Wix项目,这样你就不会有任何问题。
另外,我建议查看以下用于自动部署的MsBuild扩展:
http://www.codeplex.com/MSBuildExtensionPack
http://msbuildtasks.tigris.org/
我希望这会有所帮助。
答案 3 :(得分:10)
我们正在使用Octopus Deploy在团队城市之上管理我们的环境。
作为构建过程,我们有Octopus Release和Octopus Deploy在Octupus中创建一个版本,然后自动部署;
由于Octopus正在管理我们的环境,它还提供了我们广泛使用的变量,并且可以使用相同的构建来共同创建新环境。
答案 4 :(得分:3)
请同时考虑一个TeamCity开发人员的Deployer插件:http://confluence.jetbrains.com/display/TW/Deployer+plugin