我的推荐
工作区:
- 有一个请求接收器,将消息放入消息队列中,如rabbit mq
- 有许多工作人员,听同一个队列,从中获取工作并在完成后响应它。
- 完成后,在另一个队列上发送一条消息,其中包含指向已知位置的 URI,例如您的网络驱动器。目标是您解析的数据。
- 接收者收听这些“已完成”的消息。从 URI 中获取数据。
完毕。
RabbitMQ 带有很棒的 CLR API。
同样的推理也适用于 Microsoft Azure 及其 AbbFabric 队列。一个优点是缩放非常好。
热版本控制
http://topshelf-project.com/
它提供了一个文件夹,您可以在其中放置二进制文件,然后运行这些文件。它管理这些版本以及将它们作为 Windows 服务运行。
部署
您可以使用 robocopy/xcopy 和“net use Q: pwd \server\share”、“net delete Q:”部署二进制文件
持续集成
团队城市
在广泛使用 MsBuild 之后,我建议使用psake编写脚本并使用 PowerShell 运行构建。如果您对 PowerShell 有所了解,您还可以从构建脚本中获得 WinRM,这非常顺利。
使用 git/subversion 提交号作为 0.0.0.x, x 在以前的版本号中,您将拥有跨“调试”/“生产”构建“共享”的自动版本控制。
蔚蓝之路
工作区:
与上面相同,但使用 AppFabric 队列而不是 RabbitMQ。
热版本控制
通过交换“暂存”和“生产”实例,您可以避免停机。
部署
您可以使用 Azure 工具来执行 Visual Studio 的 MsBuild 任务,可以在此处阅读,或者您可以使用 PowerShell AzureSnapIns 和上面的类似设置进行持续集成。
持续集成
和上面一样。