Достался Jenkins на 400 с лишним джоб, который все боятся трогать. Как с такого слезают?
Рейтинг: 0% · 0 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- lorenzinoarq
- Сообщения: 65
- Зарегистрирован: 11 май 2026, 00:03
Достался Jenkins на 400 с лишним джоб, который все боятся трогать. Как с такого слезают?
Вышел месяц назад девопсом в ритейл, компания средняя, около 60 разработчиков. В наследство достался Jenkins 2.426 на одной виртуалке (8 vCPU, 32 ГБ), 417 джоб, 170 плагинов. Примерно половина джоб freestyle, накликанные руками через UI, остальное scripted pipeline на groovy с shared library, которую писал человек, уволившийся в 2022. Документации ноль, JCasC нет, бэкап это снапшот виртуалки раз в неделю.
Обновлять страшно: в прошлый раз при апгрейде плагинов отвалилась авторизация через LDAP и билды стояли день. Поэтому не обновляет никто, CVE копятся, security advisories я уже просто не открываю, чтобы спать спокойно.
Менеджмент созрел на переезд. GitLab self-hosted у нас уже есть под репозитории, 17.8. Вопрос к тем, кто реально проходил такую миграцию: переносили постепенно или большим взрывом? Сколько заняло по времени? И что делать с shared library, в ней около 4 тысяч строк и ее логика размазана вообще по всем пайплайнам?
Обновлять страшно: в прошлый раз при апгрейде плагинов отвалилась авторизация через LDAP и билды стояли день. Поэтому не обновляет никто, CVE копятся, security advisories я уже просто не открываю, чтобы спать спокойно.
Менеджмент созрел на переезд. GitLab self-hosted у нас уже есть под репозитории, 17.8. Вопрос к тем, кто реально проходил такую миграцию: переносили постепенно или большим взрывом? Сколько заняло по времени? И что делать с shared library, в ней около 4 тысяч строк и ее логика размазана вообще по всем пайплайнам?
✔ Лучший ответ сформирован автоматически — egor13
@lorenzinoarq, Проходил такое дважды, в банке и в телекоме. Первое: снимите статистику запусков за последние 90 дней, дергается через script console парой строк groovy. У нас из 600 джоб живых оказалось 240, остальное мусор с 2019 года. Сразу минус половина работы, и это сильно меняет оценку сроков. Второе: не пытайтесь конвертить freestyle в gitlab-ci автоматом, конвертеры выдают нечитаемую хрен…
Re: Достался Jenkins на 400 с лишним джоб, который все боятся трогать. Как с такого слезают?
✔ Лучший ответ — сформирован автоматически
@lorenzinoarq, Проходил такое дважды, в банке и в телекоме. Первое: снимите статистику запусков за последние 90 дней, дергается через script console парой строк groovy. У нас из 600 джоб живых оказалось 240, остальное мусор с 2019 года. Сразу минус половина работы, и это сильно меняет оценку сроков.
Второе: не пытайтесь конвертить freestyle в gitlab-ci автоматом, конвертеры выдают нечитаемую хрень. Каждый живой пайплайн переписывается руками с нуля и обычно становится короче раза в три, потому что половина вашей shared library это наверняка самописные аналоги того, что в гитлабе есть из коробки: кэши, артефакты, retry, rules.
Третье и главное: объявите Jenkins frozen, новые джобы только в гитлабе, без исключений. Без этого миграция не закончится никогда, проверено. У нас заняло 7 месяцев при одном выделенном человеке на полставки.
Второе: не пытайтесь конвертить freestyle в gitlab-ci автоматом, конвертеры выдают нечитаемую хрень. Каждый живой пайплайн переписывается руками с нуля и обычно становится короче раза в три, потому что половина вашей shared library это наверняка самописные аналоги того, что в гитлабе есть из коробки: кэши, артефакты, retry, rules.
Третье и главное: объявите Jenkins frozen, новые джобы только в гитлабе, без исключений. Без этого миграция не закончится никогда, проверено. У нас заняло 7 месяцев при одном выделенном человеке на полставки.
- lorenzinoarq
- Сообщения: 65
- Зарегистрирован: 11 май 2026, 00:03
Re: Достался Jenkins на 400 с лишним джоб, который все боятся трогать. Как с такого слезают?
а можно непопулярное мнение? jenkins у вас работает и собирает 400 проектов прямо сейчас. вместо переезда на полгода можно за пару недель поставить рядом свежий LTS, описать его через JCasC, перетащить джобы и спокойно жить дальше. переезд ради переезда это карго-культ. gitlab ci через три года у вас будет таким же легаси, только вместо groovy будет yaml на 2000 строк с include на include, я такие инсталляции тоже видел
Re: Достался Jenkins на 400 с лишним джоб, который все боятся трогать. Как с такого слезают?
У нас в банке была почти ваша картина, только джоб было под 700. Безопасники облачные CI запрещают в принципе, так что выбора особо не было: GitLab self-hosted на Astra Linux. Раннеры подняли в кубере через kubernetes executor, кэш в MinIO, образы собираем kaniko, потому что dind безопасники тоже зарубили. Заняло 8 месяцев командой из двух человек, из них месяца полтора ушло только на разбор той самой shared library, выкинули оттуда процентов 70.
Главный сюрприз после переезда: разработчики начали сами чинить свои пайплайны, потому что yaml лежит у них в репе, а не в голове у одного админа. Ради одного этого стоило.
Главный сюрприз после переезда: разработчики начали сами чинить свои пайплайны, потому что yaml лежит у них в репе, а не в голове у одного админа. Ради одного этого стоило.
Re: Достался Jenkins на 400 с лишним джоб, который все боятся трогать. Как с такого слезают?
@lorenzinoarq, groovy тут вообще не виноват, виноваты люди. scripted pipeline без структуры это и есть ваша проблема, был бы declarative с нормальными стейджами, конвертился бы в любой ci за вечер. и кстати 2.426 это конец 2023, не такое уж и легаси, у меня вон 2.319 крутится
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- ИИ-ассеты и нейросети в инди: помощь или костыль, который видно в кадре?
10 ответов · 640 просмотров
-
-
- Безопасность пет-проекта за один вечер: чеклист, который реально закрывает 90% дыр
7 ответов · 10 просмотров
-
- Достался легаси: CRA, webpack 4, node 14. Заказчик серьезный. С чего начать переезд на Vite?
4 ответов · 7 просмотров
-
- Положил прод на полчаса одним дефолтным аргументом. Python который мы заслужили
6 ответов · 4 просмотров
-
- Холивар синтетические данные для обучения это будущее или костыль который убьёт модели
7 ответов · 3 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость