在推送到Git master分支时自动更新数百个Windows部署

mrd*_*iri 13 git deployment continuous-integration github continuous-deployment

我正在尝试使用Git来管理许多Windows服务器上安装的产品.这是当前状态:

  • 每个客户都拉了存储库并且在master分支机构上,
  • 服务器始终打开并连接到Internet,
  • 我有完全访问权限(管理员)到服务器,但其他一些人(我公司外)也可以访问,所以我应该小心使用SSH密钥等凭据,
  • 产品源代码很小(不超过5MB).

当我(作为开发人员)推送提交到masterGit服务器上的分支时,以下是我想要实现的:

  • 所有Windows服务器都会自动提取新提交并将其副本更新到最新版本,
  • 执行一些脚本(重启某些服务,运行测试等),
  • 记录整个更新过程,
  • 服务器将其当前状态(Git提交,标记和分支)报告给远程服务器,以便每次推送后检查所有服务器的状态.

我有什么选择?有没有软件或我必须建立自己的软件?我检查了Git钩子,但是在我手动拉动每个服务器上的代码之后它们似乎触发了.

Jos*_*rks 1

这是一个想法,

  1. 将其中一台服务器指定为 Jenkins 服务器
  2. 将其余服务器设置为从属/代理

工作流程如下

  1. 您提交可执行文件 (.sh .bat .exe)
  2. Jenkins 注意到提交并在所有机器上运行该文件
  3. 代理在 Jenkins 中记录终端时执行命令
  4. Jenkins 告诉您构建是否成功或失败

如果您想尝试这个策略,我很乐意提供帮助

另外,Jenkins 是一个网络应用程序,因此您可以从许多设备访问它!