CI/CD
попал в проект ковырять AWS и Kubernetes
маленький стартап одной оч большой организации.
Пишутся как бы microservices на node.js, хотя их таковыми назвать весьма сложно, и все это счастье заливается в Kubernetes. Но это все детали.
Интересен сам процесс. Вернее его отсутствие.
Полный хаос и полная ж...а
девелоперы тестят все у себя локально, на своем лептопе и потом зашвыривают в кластер в ручную свои контейнеры. Все это счастье работает соответственно, вернее не работает.
код лежит в гите на битбакете.
Никто не открывает feature branches, нет code review, pull requests, либо есть но только в отдельных репозиториях. Все коммитится в ветки из которых потом идет ручной деплоймент в альфа, бета и зеркало.
Нет deployment pipelines. В версиях не используется semver, а просто каждую неделю ставят git tag во всех репозиториях по методу из версии x.y.z, берем z и прибавляем 1.
Это как бы то что сильнее всего бросается в глаза. Есть много других оч интересных контрапродуктивных плюшек.
А как у вас поставлен процесс разработки, тестов и деплоймента ? Адаптировали уже Continuous Integration/Continuous Delivery или даже Continuous Deploymnet ?
беда в том что те кто может менеджменту отвесить неиллюзорных люлей, совершенно не понимает ничего ни в сабже ни в разработке вообще.
Попросту говоря, как всегда, всем пох )))
самая большая проблема это в голове. Никто из разрабов ничего не хочет менять. Все уже привыкли поддерживать в жизни этот big ball of mud.
Нужны наверное либо пару champions либо менять команду, ни то ни другое не предвидится наверное.
У нас CI/CD на Jenkins/maven. Jenkins собирает, запускает тесты, ставит тэги в гит, мёржит, если собралось и прошли юнит-тесты, если все модули собрались и собранный из них продукт прошёл все интеграционные и ui тесты, модули деплоятся в maven-овскую репозиторию уходит сообщение операторам,мол, версия такая-то готова для деплоймента. Проблема, с которрй мы боремся - долго тесты длятся. И модули слишком связаные. Изменил что-то в самом "нижнем" - жди 6 часов пока всё пересоберётся и оттестится. А пока не собралось и не потестилось в основную ветку код не мёржится...
Continuous Deployment у нас нет, ручками-с.
Поддержу предыдущего оратора. Менеджменту надо выписывать. Это у вас какой-то дикий DevOps получился. А кто получает сообщения об ошибках в задеплоеных контейнерах, тоже разработчики?
P.S.А всё почему? А потому что у вас архитекторов нет! :)
самая большая проблема это в голове. Никто из разрабов ничего не хочет менять.
Ну что тут сказать. Либо всё же менять, любо продолжать CCD - chaos driven development.
Само оно не поменяется.