Как стать автором
Обновить

Комментарии 10

Подскажите, а с Jira общаетесь через REST API?
Используем jira-rest-java-client и Jira без кастомных плагинов.
Функциональности пока хватает.
Раньше мы использовали для сборки кода JetBrains Teamcity, пока рост числа разработчиков и сервисов не показал экономическую нецелесообразность такого решения для Яндекс.Денег.

А можно подробнее? В чем экономическая нецелесообразность? Цена лицензии?
Арифметика тут простая. Если ознакомиться с
ценами на Teamcity
то становится понятно, что есть ограничение по числу агентов, которые выполняют сборку и тестирование, и по тестовым конфигурациям. Когда стало расти число разработчиков, сервисов и изменений в сервисах задачи на проверку стали выстраиваться в очередь. Сначала мы пошли по пути увеличения числа серверов, агентов и лицензий, но так долго продолжаться не могло. Конфигураций и агентов не хватало, люди стали откладывать автотесты «на потом», а об автоматическом создании конфигураций и запуске проверки по коммиту и речи быть не могло. Сейчас в 15 командах работает 80 бекенд и фронтенд разработчиков, которые вносят изменения в 150 репозиториев. Умножьте все это на feature(s), dev, release(s) и master сборки, прибавьте к автотестам задачи по выпуску релизов и бесплатное решение становится единственным вариантом дальнейшего роста разработки.

А сколько сейчас на таких размеров команду серверов (или виртуалок в своём облаке?) с агентами? И используется ли какой-нибудь autoscaling для этой инфраструктуры?

Сейчас у нас под Jenkins выделено 4 железных сервера. Начинали с одного сервера и добавляли новые по мере необходимости. Это происходит не очень часто, поэтому autoscaling не используется.
У нас связка GitLab + Jenkins (gitlab plugin) выполняет аналогичные задачи.
Из плюсов — настройка хуков сборки на пуш, мердж-реквест, тег и тд, с сборка именно той ветки, в которую запушили, без необходимости собирать всё подряд. Релиз выкатывается при мерже dev'а с master'ом.
Гитлаб имеет поддержку из коробки популярных таск и баг-трекеров.
Из минусов — требовательность к ресурсам самого гитлаба и некоторые нюансы в работе хуков
Мы не собираем и не тестируем «все подряд». В Bitbucket настроены хуки, которые срабатывают на пуши и пул-реквесты, и уведомляют Jenkins об изменениях.
А вот автоматической раскатки релизов на бою у нас пока нет, но мы готовимся к этому морально и технически))
Ну и как, внедрили раскатку релизов?
Да, внедрили.
Недавно рассказывали о том, как у нас обстоят дела в CI/CD вот тут.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий