【发布时间】:2010-08-02 11:27:17
【问题描述】:
我正在寻找一种方法来设置拉式部署,与 Windows 下的传统推送部署模型相反。
最佳情况是:
- 将文件部署到主服务器
- 子服务器将检查主服务器是否在给定时间或时间间隔有更新。
- 如果主服务器包含更新,那么它将下载更新和/或执行脚本(类似于 nant?)
解决方案需要尽可能轻巧,并且必须在 Windows 环境下运行。
我查看了Chef 和SmartFrog,但不适合这种特殊情况。
编辑:部署了多个软件。这些是数据库脚本、Windows 服务和网站。每个孩子都有自己独特的脚本,因为它的要求和身份验证细节与其他孩子不同。
编辑 2: 到目前为止,人们已经提出了很好的答案,但最终的解决方案确实需要安全、内部运行并且同时发生。这是由于合规性、行业法规和版本问题(例如,数据库服务器与服务不同步)。我想到的最终解决方案类似于主服务器上的 FPT 服务器和子服务器上运行的 Nant 以执行安装例程(启动、停止服务、安装 sql 脚本、记录安装)。这是目前可用的最接近的东西,但并不理想,因为 nant 以推送为基础工作(仅在某人或程序(例如 Cruisecontrol)运行脚本时执行)。我确信必须有一个解决方案来为 Windows 进行正确的 PULL 部署。如果您可以同时跨多台服务器进行部署,那么 Linux 上的 Windows 更新和 APT 就是拉式部署的绝佳示例。
【问题讨论】:
-
子服务器和主服务器分别是哪些 Windows 版本?
-
它们都是相同的版本——我们暂存的 Server 2008 标准,在我们的生产站点中是 Server 2008 R2 标准。
-
您希望它安全但您使用 FTP?我读对了吗?
-
是的,这是正确的,因为可以轻松地将 FTP 服务器设置为只能由服务器访问,而不能通过以太网连接访问。可以通过隧道和 TLS 轻松保护连接。
标签: deployment auto-update change-management