我为一家拥有全球分销站点的公司编写软件。该软件在世界各地的各种 Windows(服务器 2003)服务器上运行。
用户通过服务器上的共享访问软件来运行软件。每台服务器都运行一套服务,这些服务构成了我们应用程序的基础架构。
当我们进行升级时,我们倾向于在每台服务器上执行以下任务
- 停止所有服务
- 将新的二进制文件从中心位置复制到服务器
- 运行任何数据库更新脚本
- 启动服务
- 祈祷一切顺利。
这是一个非常手动、繁琐、耗时且容易出错的操作。
我想知道是否有人可以推荐软件来自动化我们的发布程序?
我真的很想要“回滚”功能和安排发布的功能。
欢迎所有建议。
答案1
Microsoft 的解决方案是 SCCM,以前称为 SMS。您的预算是多少?它不是免费的,但您没有说您需要低成本的解决方案。
答案2
我曾使用 CFengine 来实现这一点,但那是在 Linux 上。我认为 CFEngine 也支持 Windows,但我认为它是一个付费版本。您可以使用它在所有服务器上运行脚本或配方。
答案3
如果你正在寻找免费的解决方案,你可以尝试PDQ 部署(我们的产品)。它限制您每次部署只能运行一个操作,但您可以轻松使用批处理脚本执行多个步骤,然后只需使用 PDQ Deploy 在您的服务器上运行 .bat 即可。
答案4
我用创新设置(免费软件)对于这种事情来说。虽然乍一看它看起来只不过是一个简单的安装程序,但它实际上具有一种非常开放的脚本语言,可以执行非常复杂的任务。做你描述的事情很容易。对我来说唯一的缺点是脚本是基于 Pascal 的,而我通常不使用它来编程。