Как настроить CI/CD с помощью GitLab CI и Git
Настройка 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
- На этапе build_job выполняется сборка приложения с помощью команд npm install и npm run build.
- На этапе test_job запускаются тесты. Если они проходят успешно, GitLab переходит к следующему шагу.
- На этапе deploy_job выполняется команда ssh, которая подключается к удаленному серверу, переходит в директорию приложения и обновляет код. Это пример того, как можно использовать Git для автоматического развертывания при каждом коммите в основную ветку.
Комментарии