【问题标题】:(Re)Deploy .NET logic onto multiple servers(重新)在多台服务器上部署 .NET 逻辑
【发布时间】:2014-06-26 22:02:49
【问题描述】:

序言:多台 (5+) 服务器运行相同的工作程序。 Workers 监听 RabbitMQ queie 任务并执行它。 问题:Worker 逻辑发生变化(每天最多 2-3 次),需要一种稳健的方式将更新的 Worker 重新部署到多个服务器上。

我意识到这种分布式计算环境可以从头开始编写(轮询更新,下载程序集并将其运行到单独的 AppDomain 中)但我正在尝试首先找到一些框架......

【问题讨论】:

  • 您的员工是哪种应用程序?视窗服务?网络应用?还是什么?
  • 在当前的预测试阶段工作人员只是普通的旧控制台应用程序。可以随时将它们重新打包为 Windows 服务...实际上工作人员是多线程网络爬虫...

标签: c# .net deployment windows-services


【解决方案1】:

在预测试阶段,我会使用一些 powershell 脚本,它可以轻松轮询、下载和启动/停止应用程序或服务,而无需在单独的 AppDomain 中运行(相信我,这根本不是小事)。这些脚本也可以使用 Windows 任务调度器轻松调度(您也可以编写调度任务创建脚本...)。

如果您仍想尝试现成的解决方案,我会看看:

  1. Octopus,是 .Net 原生的,但不是免费的
  2. PuppetChef,它们是部署自动化领域的两个领导者,并且都有免费版本
  3. Ansible 是一个较年轻的产品(并且对 Windows 的支持仍然有限),但我认为它真的很有趣

更新

如果您已经拥有它,TFS 可能是另一种可能性。我不确定它是否可以部署 Windows 服务,但如果不能,我会感到惊讶。

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多