【问题标题】:Auto publishing WCF services to IIS7 from a TeamCity build server从 TeamCity 构建服务器自动将 WCF 服务发布到 IIS7
【发布时间】:2011-11-08 06:34:17
【问题描述】:

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

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

谢谢 [=

【问题讨论】:

    标签: wcf iis-7 msbuild teamcity


    【解决方案1】:

    最简单的做法是将 IIS7 指向 TeamCity 结帐目录——它将在那里构建,这样您就可以在不模拟部署的情况下针对服务运行测试。您可能还想创建 2 个阶段的测试 - 一个在“部署”之前运行的传统单元测试,以及在第一组成功并发生“部署”之后运行的第二组。

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

    【讨论】:

      【解决方案2】:

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

      HTH。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 2015-07-28
        相关资源
        最近更新 更多