GitLab CI/CD - LAMP 项目的设置

GitLab CI/CD - setup for LAMP project

我们有一个常规的 LAMP 项目,我们最近搬到了 Gitlab(而不是 Github)。

之前一直使用Jenkins部署,现在打算迁移到Gitlab CI/CD.

我们有服务器A和B(带负载均衡器)用于开发版本和服务器C和D(同样,使用 LB)用于 生产 环境。

因为它是一个 LAMP 项目,部署就这么简单: - 从回购中提取最新更改; - 所有更改的文件都同步到 public 网络文件夹中; - 一些实用程序,如 composernpm 是 运行.

基本上我需要将更改部署到两个开发 VPS 和两个生产

我是否必须在它们每个上安装并启动 运行ner?还是有更有效的方法?

有很多可能的方法(我假设你是 运行 在 unix 上):

  • 只需创建一个新服务器和 install 上面的 gitlab-runner 并注册它。在服务器本身上安装依赖项。
  • 如果您对 docker 有信心,我建议您将其安装为带有 --image 标志的 Docker service. For the dependencies, create a docker image adding the utilies and refers the container image in the config.toml advanced configuration。这将根据您的图像为每个构建触发一个容器。
  • 如果您了解 Kubernetes,请使用 kubernetes executor 并直接在集群上构建。您仍然需要使用依赖项构建自己的图像,并使用 --kubernetes-image
  • 在运行器配置中引用它

对于部署,只需在构建后使用 scprsync 等工具将文件复制到目标服务器上。更好(如果您的 LAMP 项目已 docker 化):构建一个 docker 图像,将其推送到注册表并拉到您的服务器。更好的是:将所有容器部署在像 Kubernetes 这样的编排器中。