Gitlife Pipe
Gitlife PIPE — это модуль платформы Gitlife Enterprise, обеспечивающий непрерывную интеграцию (CI) и непрерывное развертывание (CD). Модуль PIPE предоставляет богат ый инструментарий и интуитивно понятный пользовательский интерфейс, позволяющий легко реализовывать CI/CD процессы любой сложности с первого дня знакомства с системой.
Модуль PIPE встроен в экосистему Gitlife Enterprise, что обеспечивает отличный пользовательский опыт, максимальную автоматизацию и мониторинг производственного процесса:
- Интеграция с модулем TEAM позволяет выводить список запусков пайплайнов в контексте задач на реализацию;
- Интеграция с модулем CODE обеспечивает запуск сборок по событиям в репозитории исходного кода;
- Интеграция с модулем SCAN позволяет инициировать анализ кода из конвейера сборки. Последующий анализ отчета сканирования позволяет принимать решения о продолжении или прекращении сборок;
- PIPE передает в модуль INSIGHT метрики описывающие атомарные запуски конвейера. В дальнейшем INSIGHT проводит корреляцию с событиями в других модулей и агрегирует данные до уровня команды, проекта и компании в целом.
Модуль PIPE предоставляет API, позволяющий инициировать запуски пайплайнов и передавать отчеты о результатах выполнения. Это позоляет лаконично встраивать Gitlife Enterprise в архитектуру производственного процесса, когда замещение сторонних систем необходимо проводить в несколько этапов.
Результаты сборок могут выкладываться во внешние репозитории артефактов.
Ключевая функциональность Gitlife PIPE
- Настройка пайплайна в графическом редакторе;
- Декомпозиция пайплайна на этапы;
- Поддержка последовательных и параллельных задач в рамках этапа;
- Возможность задания статических параметров и переменных окружения на уровне пайплайна, этапа и задачи;
- Определение новых переменных и задание их значений в ходе выполнение задачи;
- Использование новых переменных на следующих этапах наряду со статически заданными;
- Несколько методов запуска:
- По событиям в репозитории кода;
- По расписанию;
- Вручную;
- Из сторонних систем при помощи вебхуков;
- Возможность запуска задач пайплайнов в контейнеризированной среде исполнения, предоставляемой системой по умолчанию
- Возможность подключения внешних вычислительных ресурсов в качестве агентов для исполнения;
- Обмен промежуточными артефактами между задачами, исполняемыми в облачном оркестраторе и на внешних агентах;
- Кеширование процессов для ускорения компилляции и сборки;
- Задачи определяются плагинами, которые предоставляют среду исполнения и позволяют пользователю определять бизнес логику;
- Система предоставляет набор системных плагинов для оркестрации всех этапов конвейера: компиляции и сборки, тестирования, сканирования, развертывания;
- Пользовательские плагины;
- Шаблоны пайплайнов и задач;
- Версионирование конфигурации, возможность откатиться на более раннюю версию;
- Просмотр запусков пайплайнов;
- Статистика и дашборды;
- Нотификации после завершения пайплайнов.
[видео]
Архитектура системы
Plugin Manager – хранит и передает в графических редактор процесса конфигурацию сред исполнения атомарных задач. Позволяет расширять библиотеку конфигураций задач путем публикации пользовательских плагинов.
Workflow engine – обеспечивает визуальную конфигурацию пайплайнов и декомпозицию на этапы и задачи. Собирает статусы, логи и статистику выполнения задач. Контроллирует доступ к данным модуля PIPE и обеспечивает взаимодействие с пользовательским интерфейсом
Task Sceduller – управляет запуском задач пайплайна, мониторит статус выполнения и передает в Worflow Engine. Учитывает доступные ресурсы в host runner и облачной среде исполнения