自动化 Git 部署

Automate Git deployment

我想在远程机器(不是虚拟机)上以调试模式自动部署我的网站。我现在遵循的步骤:

  1. 将新代码推送到 Git 存储库。
  2. 访问远程机器并从存储库中提取代码。
  3. 安装依赖项(npm dependencies)。
  4. 运行 WebUI 使用 'npm start'.
  5. 将 IP 地址和端口号邮寄给测试人员。

尽管最后一步始终是相同的 IP 和端口,但将来可能会发生变化。

我已经编写了一个 shell 脚本来执行上述所有步骤。但是,我必须手动触发该脚本。这对一两台机器来说很好。但是,由于我们现在有多台机器需要完成此操作,所以我想将脚本的手动触发更改为在将一些代码推送到 git 后立即自动触发。我遇到了 ci/cd 并尝试实施它。我在虚拟机方面取得了成功。但是,我找不到任何关于如何在真机上执行相同操作的资源或文档。

有没有办法在我将代码推送到 Git 后立即自动执行所有这些步骤?

您肯定需要使用 git hooks。例如,参见 post-receive 钩子。

总结:

您需要一个自托管的 git 存储库(不适用于 Github)。

您在 .git/hooks 中放置了一个 bash 脚本。当有人推送到您的存储库时,脚本将被执行。