Автоматизация релизов Java-монолита в закрытом контуре: замена maven-release-plugin на JGit
maksimku 1 час назад Краткое содержание статьи Автоматизация релизов Java-монолита в закрытом контуре: замена maven-release-plugin на JGit Простой 3 мин 2.6K Java * Управление разработкой * DevOps * Кейс Recovery Mode...
Will Anthropic be the #3 AI Lab at the end of November 2026 (Style Control On)?
В сфере искусственного интеллекта произошло заметное событие. maksimku 1 час назад Краткое содержание статьи Автоматизация релизов Java-монолита в закрытом контуре: замена maven-release-plugin на JGit Простой 3 мин 2. 6K Java * Управление разработкой * DevOps * Кейс Recovery Mode Тезис: Как мы автоматизировали подготовку релизов в банке (Java 17, Spring), написали свой плагин для проверки release notes и обошлись без выделенного DevOps-инженера, используя чистый Java-стек в закрытом контуре. Контекст: Боль энтерпрайзаПроект в банке.
Закрытый контур (on-premise), жесткие требования ИБ. Стандартный maven-release-plugin не подходил из-за специфики монолита. Ручная подготовка каждого релиза занимала около часа, а любая ошибка в конфигурации стоила команде простоя.
Технические детали
Ручная подготовка: 60 минут → 5 минут. Восстановление после ошибки: 24 часа → 15 минут (перезапуск job). Поддержка решения: ≈ 2 часа в месяц.
Срок реализации: 2–3 недели. Контекст и ограниченияСреда: Закрытый контур (on-premise), облачные сервисы недоступны. Стек: Java-монолит (Maven, Spring, Oracle).
Команда: Выделенного DevOps-инженера нет, инфраструктура на плечах разработчиков. Проблема: Перед релизом ручная архивация, поиск коммитов и сборка release notes. Любая ошибка могла затянуть релиз до суток.
Отраслевые последствия
Масштаб: Команда из 3 человек, релиз раз в 2 недели. Архитектурные решенияМы разделили ответственность: GitLab CI отвечает за оркестрацию, а кастомный Maven-плагин берет на себя сборку артефактов и валидацию. Ключевые решения:Логика в Maven: Вся логика сборки живет внутри плагина.
Это позволяет отлаживать её локально. Чистота репозитория: Мы не коммитим сгенерированные артефакты в Git. Изоляция: Весь цикл разработки транслировался на изолированный GitLab Runner.
Это позволило ломать билд в песочнице, не рискуя стабильностью команды. Реализация плагина (JGit + Jira)Для сбора release notes мы написали кастомный Maven-плагин. Он использует JGit для получения дельты коммитов между релизными тегами.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.



