使用TeamCity进行构建后如何部署?

时间:2009-12-31 23:44:25

标签: c# asp.net deployment teamcity

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

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

接下来是什么?

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

最好的方法是什么?

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

5 个答案:

答案 0 :(得分:58)

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

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

  1. 安装WebDeploy
  2. 启用Web配置转换
  3. 配置TeamCity BuildRunner
  4. 配置TeamCity构建依赖关系
  5. 适用于我的应用程序的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)

我写了一篇关于这个主题的博文很长,可能会让你感兴趣:

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

基本上是:

  • 安装Web部署项目
  • 将Web部署项目添加到您的解决方案
  • 将解决方案配置管理器设置为具有“部署”构建配置
  • 让团队城市在运行构建时使用此构建开关
  • 喝一杯啤酒,并在你的自动化中获得惊喜

答案 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