我正在寻找一种方法来设置拉部署,与 Windows 下的传统推送部署模型相反。
最佳情况是:
- 将文件部署到主服务器
- 子服务器将检查主服务器是否在给定时间或时间间隔有更新。
- 如果主服务器包含更新,那么它将下载更新和/或执行脚本(类似于 nant?)
该解决方案需要尽可能轻巧,并且必须在 Windows 环境下运行。
编辑:正在部署多个软件。这些是数据库脚本、Windows 服务和网站。每个孩子都有自己独特的脚本,因为它的要求和身份验证细节与其他的不同。
编辑2: 到目前为止,人们已经提出了很好的答案,但最终的解决方案确实需要安全、内部运行并且同时发生。这是由于合规性、行业法规和版本问题(例如,数据库服务器与服务不同步)。我想到的最终解决方案类似于主服务器上的 FPT 服务器和子服务器上运行的 Nant 以执行安装例程(启动、停止服务、安装 sql 脚本、记录安装)。这是目前可用的最接近的东西,但并不理想,因为 nant 以推送为基础工作(仅在某人或程序(例如 Cruisecontrol)运行脚本时执行)。我确信必须有一个解决方案来为 Windows 进行正确的 PULL 部署。