从TeamCity构建服务器自动将WCF服务发布到IIS7

时间:2011-11-07 15:21:38

标签: wcf iis-7 msbuild teamcity

我有一堆C#VS2010项目在TeamCity构建服务器上自动编译 构建服务器编译项目,然后在输出上运行自动单元测试 问题是,部分测试正在尝试与本地服务器上的WCF服务进行通信。

测试失败,因为BuildServer仅构建项目,并且不将输出服务发布到IIS7上(与TeamCity一起运行)。
有没有一种简单的方法可以在每次代码完成编译时自动告诉TeamCity(可能通过MSBuild.exe)发布我的* .svc文件?

谢谢[=

2 个答案:

答案 0 :(得分:0)

最简单的方法是将IIS7指向TeamCity结帐目录 - 它将在那里构建,以便您可以针对服务运行测试而无需模拟部署。您还可能需要创建两个阶段的测试 - 一个是在“部署”之前运行的传统单元测试,另一个是在第一个集合成功并且“部署”发生后运行的第二个集合。

部署在TeamCity之外绝对可以工作,但具体取决于您的网络和应用程序地形。

答案 1 :(得分:0)

要部署Web服务,您可以使用Web Deploy在IIS中打包和安装服务。但是,真正的问题似乎是您的测试对您的服务的依赖性。您应该抽象服务接口并在测试中使用模拟框架和您喜欢的DI容器,这样服务就不需要了。

HTH。