How to deploy after a build with TeamCity?
我将TeamCity设置为生成服务器。
我已经建立了我的项目,它正在从Subversion正确更新,并且构建良好。
那么接下来呢?
理想情况下,我希望将它自动部署到测试服务器,并手动部署到实时/临时服务器。
最好的方法是什么?
因为我使用的是C/ASP.NET,我应该在我的解决方案中添加一个Web部署项目吗?
本文解释如何从TeamCity调用Microsoft的WebDeploy工具来将Web应用程序部署到远程Web服务器。我一直在使用它部署到测试Web服务器,并在签入时运行Selenium测试。
http://www.mikevalenty.com/automatic-deployment-from-teamcity-using-webdeploy/
适用于我的应用程序的msbuild参数为:
1 2 3 4 5 6 7 8 9 10 | /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部署项目添加到解决方案中
- 将解决方案配置管理器设置为具有"部署"生成配置
- 让团队城市在运行生成时使用此生成开关
- 喝一杯啤酒,为你的汽车魅力而惊叹
我们使用Octopus Deploy来管理团队城市顶部的环境。
作为一个构建过程,我们有一个章鱼发布和章鱼部署,在章鱼中创建一个发布,然后也会自动部署;
由于章鱼正在管理我们的环境,它还提供了我们广泛使用的变量,并且可以使用相同的构建来共同创建一个新的环境。
通常我要做的是创建一个wix安装程序。WIX项目可以用msbuild生成,因此应该没有问题。
另外,我建议查看以下用于自动部署的msbuild扩展:
http://www.codeplex.com/msbuildextensionpackhttp://msbuildtasks.tigris.org网站/
我希望这有帮助。
请考虑一个来自TeamCity开发人员的部署程序插件:http://confluence.jetbrains.com/display/tw/deployer+plugin