Этап интеграции (integration, build stage) — это преобразование, которое преобразует репозиторий кода в исполняемый пакет, известный как сборка. Используя версию кода при фиксации, указанной в процессе развертывания, этап сборки извлекает зависимости поставщиков и компилирует двоичные файлы и активы. — Каждая Сборка всегда должна иметь уникальный идентификатор, например инкрементное число v100. — Сборка не содержит конфигураций или чувствительных данных, и может быть развернута на любом контуре.
Этап хранения артефактов (например, собранных бинарных файлов) в специальном хранилище (например, Nexus или Artifactory).
Этап доставки(deployment, release stage) берет сборку и объединяет ее с текущей конфигурацией развертывания. Полученный выпуск содержит как сборку, так и конфигурацию. запускает приложение в среде выполнения, запуская некоторый набор процессов приложения на выбранном релизе. — Каждый релиз всегда должен иметь уникальный идентификатор релиза, например, временную метку релиза (например, 2011–04–06–20:32:17) или инкрементное число (например, v100).
Этап интеграции (Integration)
Включает в себя следующие шаги:
Получение кода: Автоматическое извлечение кода из репозитория.
Статический анализ кода: Автоматическая проверка кода на наличие — ошибок, в том числе синтаксиса — отклонений от стандартов кодирования
SAST (Static Application Security Testing): анализирует исходный код, байт-код или двоичные файлы приложения без его выполнения.
Сборка кода: Компиляция исходного кода, сборка библиотек, зависимостей и создание артефактов (например, исполняемых файлов).
Тестирование: Запуск автоматизированных тестов: — Юнит-тесты: Проверка отдельных элементов кода. — (Если есть, может быть пройден асинхронно) Интеграционные тесты: Проверка взаимодействия между компонентами. — (Если есть, может быть пройден асинхронно) Функциональные тесты: Проверка корректности работы функциональности.
Создание Пакетов или Образов: Для контейнеризации, например, создание Docker-образов.
Архивация артефактов: Сохранение артефактов (например, собранных бинарных файлов) в специальном хранилище (например, Nexus или Artifactory).
Уведомления: Автоматическое информирование команды о результате выполнения пайплайна (успешно/с ошибками) через электронную почту, мессенджеры или другие каналы.
Этап развертывания (Deployment) на контур
Включает в себя следующие шаги:
Получение артефактов сборки: Автоматическое получение бинарных артефактов из хранилища
(Если необходимо)Подготовка среды: Подготовка окружения для развертывания, включая аллокацию ресурсов, настройку сети и т.д.
(Может запускаться отдельно)Миграции базы данных: Если необходимо, автоматическое обновление структуры БД.
Проверка здоровья или Смок-тесты: После развертывания — автоматическая проверка состояния приложения, чтобы удостовериться, что все работает корректно.
Уведомления: Автоматическое информирование команды о результате выполнения пайплайна (успешно/с ошибками) через электронную почту, мессенджеры или другие каналы.