Как настроить CI/CD с помощью GitLab CI и Git

На список статей
Blog image

Защитите свои сайты с My-Sites-Guard.com!
Сервис обеспечивает надежную защиту ваших веб-ресурсов: мониторинг доступности сайта, контроль валидности сертификатов, а также возможность собирать и анализировать логи работы сервера. My-Sites-Guard.com — всё для сохранности вашего сайта и спокойствия в работе!

Настройка GitLab CI/CD для вашего проекта

Перед тем как перейти к настройке CI/CD, убедитесь, что у вас есть базовые знания о Git и GitLab. Git — это система контроля версий, которая помогает отслеживать изменения в коде и позволяет команде работать над проектом одновременно, не создавая конфликтов. GitLab — это платформа, которая интегрирует функции Git и предоставляет инструменты для автоматизации разработки, в том числе CI/CD.

Шаг 1: Подготовка проекта на GitLab

Для начала необходимо создать проект на GitLab. Перейдите на сайт GitLab, создайте новый репозиторий и загрузите в него свой код. После этого вам будет необходимо настроить .gitlab-ci.yml — файл, который отвечает за настройку CI/CD для вашего проекта. Этот файл содержит набор инструкций, которые GitLab будет выполнять для автоматизации тестирования и развертывания.

Шаг 2: Создание файла .gitlab-ci.yml

Файл .gitlab-ci.yml — это основной конфигурационный файл для GitLab CI/CD. В нем вы определяете, какие шаги будет выполнять GitLab для автоматизации. Файл должен находиться в корне вашего репозитория, чтобы GitLab мог его обнаружить и использовать. В этом файле мы описываем этапы (например, сборку, тестирование и развертывание), а также определяем, какие инструменты и среды будут использоваться на каждом этапе.

Пример базового .gitlab-ci.yml для проекта на Node.js:

stages:
 - test
 - deploy

test_job:
 stage: test
 script:
   - npm install
   - npm test

deploy_job:
 stage: deploy
 script:
   - echo "Deployment step goes here"
 only:
   - main

Этапы 1, 2 и 3: test_job, deploy_job и другие шаги

В этом примере stages определяет два этапа: test и deploy. На этапе test GitLab сначала выполнит npm install, чтобы установить все зависимости, а затем npm test, чтобы запустить тесты. Если тесты успешны, GitLab перейдет к следующему этапу — deploy. В данном примере развертывание просто выводит строку "Deployment step goes here", но вы можете заменить этот шаг реальными командами для деплоя.

Настройка автоматизации тестирования и развертывания с Git

Теперь, когда у вас есть базовый файл .gitlab-ci.yml, давайте разберем, как GitLab использует Git для запуска CI/CD. Сначала убедитесь, что ваш код находится в репозитории GitLab и каждый коммит кода запускает процесс CI/CD. При каждом пуше GitLab проверяет .gitlab-ci.yml и запускает определенные команды в зависимости от этапов, прописанных в этом файле.

Пример настройки автоматического развертывания

Если вы хотите настроить автоматическое развертывание после успешного прохождения тестов, вам нужно добавить дополнительные шаги в файл .gitlab-ci.yml. Вот как можно настроить базовый процесс развертывания для веб-приложения.

stages:
 - build
 - test
 - deploy

build_job:
 stage: build
 script:
   - npm install
   - npm run build

test_job:
 stage: test
 script:
   - npm test

deploy_job:
 stage: deploy
 script:
   - ssh user@server "cd /path/to/app && git pull && npm install && npm run start"
 only:
   - main

Этапы 1, 2 и 3: build_job, test_job и deploy_job

  1. На этапе build_job выполняется сборка приложения с помощью команд npm install и npm run build.
  2. На этапе test_job запускаются тесты. Если они проходят успешно, GitLab переходит к следующему шагу.
  3. На этапе deploy_job выполняется команда ssh, которая подключается к удаленному серверу, переходит в директорию приложения и обновляет код. Это пример того, как можно использовать Git для автоматического развертывания при каждом коммите в основную ветку.

Комментарии

Пока нет комментариев

Добавить комментарий