我正在尝试使用 Git 来管理安装在许多 Windows 服务器上的产品。这是当前状态:
- 每个客户端都 pull 了版本库并且在
master
分支上, - 服务器始终在线并连接到 Internet,
- 我对服务器有完全访问权限(管理员),但其他一些人(我公司以外的人)也有访问权限,所以我应该小心使用 SSH key 等凭据,
- 产品源代码小(不超过5MB)。
以下是我(作为开发人员)将提交推送到 Git 服务器上的 master
分支时想要实现的目标:
- 所有 Windows 服务器都会自动 pull 新的提交并将其副本更新到最新版本,
- 执行一些脚本(重启一些服务,运行测试等),
- 记录整个更新过程,
- 服务器向远程服务器报告其当前状态(Git 提交、标记和分支),以便我可以在每次推送后检查所有服务器的状态。
我有哪些选择?是否有任何软件或我必须自己构建?我检查了 Git Hook ,但它们似乎是在我在每台服务器上手动 pull 代码后触发的。
最佳答案
这是一个想法,
- 将其中一台服务器指定为 Jenkins 服务器
- 将其余服务器设置为从属/代理
工作流程
- 您提交一个可执行文件 (.sh .bat .exe)
- Jenkins 注意到提交并在所有机器上运行该文件
- 代理在 Jenkins 中登录终端时执行命令
- Jenkins 会告诉您构建成功还是失败
如果你想尝试这个策略,我很乐意提供帮助
此外,Jenkins 是一个网络应用程序,因此您可以从许多设备访问它!
关于git - 推送到 Git 主分支后自动更新数百个 Windows 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809497/