Настраиваем Gitlab CI/CD

Настраиваем Gitlab CI/CD

Kangaroo

Что такое CI/CD? Говоря простыми словами это возможность настроить автодеплой вашего проекта сразу на сервере!

Как это работает? Говоря простым языком работает все достаточно просто: В проект добавляется файл конфигурации. При каждом пуше если GitLab видит в ветке такой файл то автоматически запускает сборку проекта по описанному в нем алгоритму. В разных ветках можно делать разные файлы конфигурации! Остальную инфу о том как работает CI/CD можно найти в документации!

Приступим к практике!

Для примера мы будем настраивать CI/CD во Vue.js проекте на сервере Ubuntu 18.04:

  1. Нам нужно установить GitLab Runner на нашем сервере.
    Для этого выполним следующие команды:
    Обновим пакеты: sudo apt-get update
    Установим раннер:
    sudo apt-get install gitlab-runner
    Запустим его:
    sudo gitlab-runner start
  2. Теперь нужно зарегистрировать раннер:
    Для начала зайдем в Настройки проекта - CI/CD и откроем вкладку Runners (Бегуны) там будет нужная нам информация для регистрации.

    Выполним команду: sudo gitlab-runner register
    Далее следуем инструкции:
    - выбор адреса сервера: адрес указан во вкладке Runners.
    - регистрационный ключ: так же находится во вкладке Runners.
    - описание.
    - ввод тегов.
    - тип запуска раннера: мы будем использовать shell.
  3. Проверим работу раннера:
    Выполним команду: gitlab-runner status

    Ели статус будет +- таким "gitlab-runner: Service is running!" то мы все сделали правильно!
    Если перейти в настройки проекта то в Runners появится наш Runner.
    Далее следует отключить общие раннеры в проекте нажав на "Enable shared runners for this project".
  4. Создадим инструкцию для деплоя:
    В корне проекта создадим файл .gitlab-ci.yml с содержимым как на фото ниже. Тут стоит подробнее остановится на блоке script. По умолчанию при использовании раннера проект загружается на сервер в специальную папку которую создал gitlab-runner. По этому используя rsync мы скопируем проект в новую папку и там уже сделаем билд.

На этом все:
Описав скрипт можно попробовать запушить проект.
Статус выполнения можно отследить в CI/Cd => Pipelines:
Выполненные деплои будут отображаться в списке:


Теперь вы сами сможете настроить автодеплой в ваших проектах!
Таким же способом вы можете настраивать автодеплой на Django и других проектах!

Report Page