GitLab CI / CD-为LAMP项目设置

时间:2019-03-07 16:04:23

标签: gitlab gitlab-ci lamp gitlab-ci-runner

我们有一个常规的L​​AMP项目,最近我们搬到了Gitlab(代替Github)。

以前我们一直在使用Jenkins进行部署,现在我计划将其迁移到 Gitlab CI / CD

我们有开发版服务器A和B (带有Loadbalancer),以及 服务器C和D (同样是LB) em>生产环境。

由于它是一个LAMP项目,因此部署非常简单: -从回购中提取最新更改; -所有更改的文件都同步到公共Web文件夹中; -一些实用程序,例如 composer npm

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

我每个人都必须安装并启动运行器吗?还是有一种更有效的方法?

1 个答案:

答案 0 :(得分:1)

有许多种可能的方法(我假设您在Unix上运行):

  • 只需创建一个新服务器,并在其上install gitlab-runner并注册它。在服务器本身上安装依赖项。
  • 如果您对docker充满信心,建议您将其安装为Docker service。对于依赖项,创建一个添加实用程序的docker映像,并使用config.toml标志引用--image advanced configuration中的容器映像。这将为每个构建触发一个基于您的图像的容器。
  • 如果您知道Kubernetes,请使用kubernetes executor并直接在集群上构建。您仍然需要构建具有依赖性的映像,并使用--kubernetes-image
  • 在运行程序配置中引用它

对于部署,只需在构建后使用scprsync之类的工具将文件复制到目标服务器上即可。更好(如果您的LAMP项目已通过docker化):构建一个docker映像,将其推送到注册表中,然后将其拉到服务器上。更好的是:将所有容器部署在Kubernetes之类的协调器中。