В этой инструкции показано, как быстро настроить CI/CD в GitLab — от создания проекта и тестовой ветки до регистрации GitLab Runner и автоматического деплоя WordPress. Такой подход упрощает процесс разработки и ускоряет обновление кода на сервере.

Для создания проекта в GitLab
Переходим в “New Project” > “Create blank Project”

Настройка элементарного деплоя проекта (CI/CD) - Image 1

Настройка элементарного деплоя проекта (CI/CD) - Image 2

Заполняем все данные для создания нашего нового проекта.

Настройка элементарного деплоя проекта (CI/CD) - Image 3

Когда репозиторий создан, нужно создать тестовую ветку для добавления файлов WP.

Настройка элементарного деплоя проекта (CI/CD) - Image 4

Нажимаем на + и выбираем “New Branch”

Настройка элементарного деплоя проекта (CI/CD) - Image 5

Называем ветку wp-test (указано для примера, вы можете назвать как захотите) и нажимаете “Create branch”

Настройка элементарного деплоя проекта (CI/CD) - Image 6

После чего переходим в эту ветку:

Настройка элементарного деплоя проекта (CI/CD) - Image 7

Переходим на нашу тестовую ветку и добавляем файл
.gitlab-ci.yml


И создаем директорию Docker/ и добавляем туда файлы wp-traefik.prod.yml и .env

пример
.gitlab-ci.yml

Настройка элементарного деплоя проекта (CI/CD) - Image 8

пример wp-traefik.prod.yml

Настройка элементарного деплоя проекта (CI/CD) - Image 9

пример .env

Настройка элементарного деплоя проекта (CI/CD) - Image 10

теперь переходим на наш production сервер для создания gitlab runner чтобы загрузить наш код на целевой сервер.
На production сервера добавляем docker образ раннера для gitlab

docker run -d --name gitlab-runner --restart always \

  -v /var/run/docker.sock:/var/run/docker.sock \

  -v /gitlab-runner/config:/etc/gitlab-runner \

  gitlab/gitlab-runner:latest

Настройка элементарного деплоя проекта (CI/CD) - Image 11

также создаем сеть на production сервере
docker network create web

Что бы зарегистрировать gitlab раннер, нужно получить токен , для этого переходим по такому пути:
GitLab → Settings > CI/CD > Runners > Create project runner

Настройка элементарного деплоя проекта (CI/CD) - Image 12

После чего начинаем регистрацию ранеера для gitlab

docker exec -it gitlab-runner gitlab-runner register

Вводим:

URL: https://gitlab.example.net

Token: <токен> полученный с гитлаб

Description: prod-runner

Executor: docker

Default image: php:8.2-apache

Проверяем:

docker exec -it gitlab-runner gitlab-runner verify

Вывод должен быть:

Verifying runner… is valid

После того как наш раннер прошел валидацию и удачно подключен к нашему gitlab, приступаем к merge нашей тестовой ветки с main для этого нажмите “Create merge request” 

Настройка элементарного деплоя проекта (CI/CD) - Image 13

После чего запустится тесты и загрузка вашего кода на production сервер, после завершения вы получите полностью рабочий WP сайт.

Настройка элементарного деплоя проекта (CI/CD) - Image 14 Настройка элементарного деплоя проекта (CI/CD) - Image 15 Настройка элементарного деплоя проекта (CI/CD) - Image 16

Итог

В результате выполнения всех шагов вы развернули полностью рабочий процесс CI/CD в GitLab для вашего проекта.
Созданный пайплайн автоматически собирает и деплоит приложение при каждом изменении в репозитории, а GitLab Runner обрабатывает задачи без ручного вмешательства.
Такой подход ускоряет процесс разработки, снижает риск ошибок и обеспечивает стабильное развертывание кода на сервере.
Теперь вы можете расширять конфигурацию пайплайна, добавлять этапы тестирования, проверки безопасности или автоматическое обновление Docker-контейнеров — в зависимости от потребностей вашего проекта.