Перейти к основному содержимому

Gitlife Pipe

Gitlife PIPE — это модуль платформы Gitlife Enterprise, обеспечивающий непрерывную интеграцию (CI) и непрерывное развертывание (CD). Модуль PIPE предоставляет богатый инструментарий и интуитивно понятный пользовательский интерфейс, позволяющий легко реализовывать CI/CD процессы любой сложности с первого дня знакомства с системой.

Модуль PIPE встроен в экосистему Gitlife Enterprise, что обеспечивает отличный пользовательский опыт, максимальную автоматизацию и мониторинг производственного процесса:

  • Интеграция с модулем TEAM позволяет выводить список запусков пайплайнов в контексте задач на реализацию;
  • Интеграция с модулем CODE обеспечивает запуск сборок по событиям в репозитории исходного кода;
  • Интеграция с модулем SCAN позволяет инициировать анализ кода из конвейера сборки. Последующий анализ отчета сканирования позволяет принимать решения о продолжении или прекращении сборок;
  • PIPE передает в модуль INSIGHT метрики описывающие атомарные запуски конвейера. В дальнейшем INSIGHT проводит корреляцию с событиями в других модулей и агрегирует данные до уровня команды, проекта и компании в целом.

CICD оркестратор предынтегрирован в производственный конвейер

Модуль PIPE предоставляет API, позволяющий инициировать запуски пайплайнов и передавать отчеты о результатах выполнения. Это позоляет лаконично встраивать Gitlife Enterprise в архитектуру производственного процесса, когда замещение сторонних систем необходимо проводить в несколько этапов.

Результаты сборок могут выкладываться во внешние репозитории артефактов.

Ключевая функциональность Gitlife PIPE

  • Настройка пайплайна в графическом редакторе;
  • Декомпозиция пайплайна на этапы;
  • Поддержка последовательных и параллельных задач в рамках этапа;
  • Возможность задания статических параметров и переменных окружения на уровне пайплайна, этапа и задачи;
  • Определение новых переменных и задание их значений в ходе выполнение задачи;
  • Использование новых переменных на следующих этапах наряду со статически заданными;
  • Несколько методов запуска:
    • По событиям в репозитории кода;
    • По расписанию;
    • Вручную;
    • Из сторонних систем при помощи вебхуков;
  • Возможность запуска задач пайплайнов в контейнеризированной среде исполнения, предоставляемой системой по умолчанию
  • Возможность подключения внешних вычислительных ресурсов в качестве агентов для исполнения;
  • Обмен промежуточными артефактами между задачами, исполняемыми в облачном оркестраторе и на внешних агентах;
  • Кеширование процессов для ускорения компилляции и сборки;
  • Задачи определяются плагинами, которые предоставляют среду исполнения и позволяют пользователю определять бизнес логику;
  • Система предоставляет набор системных плагинов для оркестрации всех этапов конвейера: компиляции и сборки, тестирования, сканирования, развертывания;
  • Пользовательские плагины;
  • Шаблоны пайплайнов и задач;
  • Версионирование конфигурации, возможность откатиться на более раннюю версию;
  • Просмотр запусков пайплайнов;
  • Статистика и дашборды;
  • Нотификации после завершения пайплайнов.

[видео]

Архитектура системы

Архитектура конвейера CI/CD - модуля Gitlife PIPE

Plugin Manager – хранит и передает в графических редактор процесса конфигурацию сред исполнения атомарных задач. Позволяет расширять библиотеку конфигураций задач путем публикации пользовательских плагинов.

Workflow engine – обеспечивает визуальную конфигурацию пайплайнов и декомпозицию на этапы и задачи. Собирает статусы, логи и статистику выполнения задач. Контроллирует доступ к данным модуля PIPE и обеспечивает взаимодействие с пользовательским интерфейсом

Task Sceduller – управляет запуском задач пайплайна, мониторит статус выполнения и передает в Worflow Engine. Учитывает доступные ресурсы в host runner и облачной среде исполнения

Содержание раздела