我想在单独的虚拟主机/域上运行/托管项目 Git 存储库的特定分支,以进行测试/预览。我正在考虑一个过程,该过程将在 Git 推送之后将分支部署到“预览”或“测试”服务器,以便在浏览器中进行手动测试。
例如,最好将一个名为“feature/my-new-feature”的分支部署到特定的服务器,并通过“my-new feature.project.com”之类的 URL 访问项目。
我面临的问题(理论上,首先)主要是关于数据库连接/配置、端口等方面的挑战。例如,如果在单个服务器上的不同子域上运行多个分支,它们将需要共享一个 MySQL安装 - 但实际上每个分支都需要它自己的、单独的 MySQL 实例,因为所有分支的数据库配置都不会改变,这意味着它们连接到同一主机并使用相同的数据库名称、用户等。
一种方法可能是为它自己的子域上的每个分支运行一个虚拟机,将端口直接映射到虚拟机(至少我认为这是可能的),但对于许多具有许多分支的项目来说,这意味着我需要很多硬件处理这件事的权力。(而且可能还有很多钱。)
然后我听说了 docker 和/或 Linux 容器,并认为也许这可以解决,但我不完全确定它是如何以及是否有效。
我想知道在没有干扰服务和相关冲突问题的情况下并行运行多个版本的项目的既定方法是什么。
是否可以使用 docker 进行这样的设置,或者这是我前进的完全错误的方向?
非常感谢您的回答。