Кейс #4 Как потратить $30k+ за два месяца на настройку Jenkins А потом выкинуть все наработки.
Сегодня расскажу еще одну историю с фриланса.
История эта про одну маленькую, но очень сплоченную команду, которая занималась разработкой собственного продукта.
Однажды во время тимбилдинга в городе Г программист П подсмотрел, как запускают приложение в команде заказчика.
Ему понравился общий концепт системы построенной на Jenkins. Артефакты, в которых фиксировалось полное состояние приложения на момент сборки. Это было очень удобно, в случае отката после неудачного запуска очередной версии. А откатываться приходилось время от времени.
Через несколько дней программист П вернулся к основным обязанностям в компании К. Он предложил руководству внедрить такую же систему.
Поскольку опыта в настройке Jenkins не было ни у кого из команды, а системный администратор мог только установить его на сервер, решили обратиться к услугам DevOps-консультанта К.
Консультант К помог настроить пайплайны для пары репозиториев, после чего перешел в режим обработки заявок, если что-то работает не так.
Неделю казалось, что все работает как надо. Пул-реквесты активировали сборку артефактов, изменения выгружались на сервер...
Проблемы начались, когда понадобилось подключить новый репозиторий к этой системе.
Программист П обнаружил, что ему нужно подготовить несколько скриптов на Groovy, подключить несколько триггеров в Gitlab, прописать переменные окружения на стороне Jenkins, запустить пайплайны несколько раз в попытке понять, что не так, обратиться к консультанту К за помощью, повторить все заново.
И все бы ничего. Если бы Groovy-скрипты разных репозиториев не были взаимосвязаны. Т.е. некоторые изменения, приходилось вносить не только в скрипт к текущему репозиторию, но и во все скрипты к уже настроенным репозиториям.
После двух месяцев попыток "приготовить" Jenkins так, чтобы им стало удобно пользоваться, компания К решила уволить консультанта К, свернуть это направление, перейти на Gitlab CI и настроить пайплайны силами имеющейся команды.
Что в итоге?
Этот маневр стоил компании К двух месяцев различных манипуляций с Jenkins и более 30 тыс. долларов.
Все наработки были выброшены в корзину, потому что в итоге компания К перешла на Gitlab CI.
В следующем посте разберем, какие ошибки совершили программист П и компания К.
—
Узнали свою компанию или заказчика? Поделитесь в комментариях! 👇
🧘 Точка останова #кейс
В этом посте были ссылки, но мы их удалили по правилам Сетки