git 在现场和舞台设置中的最佳做法是什么?

Whats the best practice for git on a live and stage setup?

我想知道这是否适合我的现场和舞台设置。

1 个管理服务器和 2 个应用服务器 - 实时

1 个管理服务器和 1 个应用服务器 - 阶段

1 个 Gitlab 服务器

4 位开发人员

我们已经有了 gitlab 服务器,并且只用它来跟踪我们所有的更改。现在我们要使用设置进行部署。我认为我们可以在 Adminservers 和 Appservers 上创建一个裸仓库,并在每个服务器上设置一个 post-receive 挂钩。主要的远程源是 Gitlab 服务器,其他的将添加为 remote stageremote live

post-接收挂钩,添加工作树 (/var/www/test) 并检查项目和所做的更改。

这是a/the要走的路吗?我在 Gitlab 中找不到这样的功能 - 也许有?

如果需要,您可以使用来自 gitlab 的 docker 图像存储库。您可以从稳定源(通常在 master 分支上)构建 docker 图像。您无需将源代码拉到舞台和实时服务器,而是拉取 docker 图像(概念上是图像环境中的应用程序包装)。这是一个自以为是的答案