Обмен технологиями

GitLab CI/CD реализует автоматическое развертывание проектов

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 Введение в GitLab CI/CD

  • GitLab CI/CD — это набор инструментов непрерывной интеграции (Continious Integration), непрерывной доставки (Continious Delivery) и непрерывного развертывания (Continious Deployment), интегрированных в GitLab для разработки программного обеспечения. Эта система позволяет командам разработчиков автоматизировать процесс доставки программного обеспечения: от обнаружения, сборки, тестирования и, в конечном итоге, развертывания изменений кода в производственных средах.

  • Непрерывная интеграция (CI)

    • Каждый раз, когда код отправляется в систему контроля версий (например, в хранилище GitLab), система автоматически собирает и тестирует его. Это гарантирует, что изменения кода быстро интегрируются в главную ветку, а ошибки интеграции обнаруживаются и исправляются.
  • Непрерывная доставка (CD)

    • Опираясь на непрерывную интеграцию, автоматизируйте доставку проверенных изменений кода в предпроизводственную или готовую к использованию среду. Этот этап может включать более сложные наборы тестов, тестирование производительности и т. д., чтобы убедиться, что программное обеспечение готово к развертыванию в рабочей среде, но фактическое развертывание может потребовать одобрения вручную.
  • Непрерывное развертывание (CD)

    • Благодаря непрерывной доставке процесс доставки полностью автоматизирован, а код, прошедший все тесты, может быть развернут непосредственно в производственной среде без ручного вмешательства. Это означает, что каждое изменение кода тестируется и быстро и безопасно доходит до пользователей.

2 GitLab CI/CD и GitLab Runner

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

  • GitLab Runner — это фактический исполнитель или механизм выполнения, который реализует процессы CI/CD. Это отдельно развернутая программа, которую можно установить в разных операционных системах (например, Linux, macOS, Windows), зарегистрировать и привязать к экземплярам GitLab. Как только новый коммит запускает процесс GitLab CI/CD, GitLab запланирует зарегистрированный Runner для выполнения задач, определенных в .gitlab-ci.yml.

  • Проще говоря, GitLab CI/CD — это планировщик и координатор, отвечающий за определение того, когда и как выполнять задачи, а GitLab Runner — это сущность, которая конкретно выполняет эти задачи. Раннеры могут быть общими (обслуживающими несколько проектов) или выделенными (обслуживающими только один проект), а также могут быть настроены для различных сред выполнения в зависимости от потребностей проекта (например, использование контейнеров Docker для изоляции среды сборки).

3 GitLab Runner

3.1 Установка

  • Возьмите Centos в качестве примера
  • скачать установочный пакет gitlab-runner, найдите gitlab-runner в столбце «Пакет», вы можете скачать эту версию el/7/x86_64/gitlab-runner-16.6.0-1.x86_64.rpm
  • Команда установки следующая
  •   # 安装
      sudo rpm -ivh gitlab-runner-16.6.0-1.x86_64.rpm	
      # 查看是否安装成功
      gitlab-runner -h