У нас есть система, работающая на 3 серверах, которые нам нужно будет расширить в будущем.
В настоящее время все делается через Teamcity. У нас есть ветка git, которую отслеживает teamcity, и когда в ней появляется новый контент, teamcity извлекает изменения, создает код и затем обновляет сервер, на котором он работает. У каждого сервера есть свой teamcity, и каждый контролирует часть репозитория.
Эта система проработала несколько лет без каких-либо серьезных проблем.
Теперь мы планируем масштабировать систему и разделяем довольно монолитную систему на микросервисы. Мы планируем запускать каждую из этих служб в контейнерах докеров.
Аппаратное обеспечение каждого сервера довольно специализировано, поскольку некоторые службы требуют доступа к большому объему хранилища, в то время как другие службы требуют больших вычислительных ресурсов. Таким образом, распределение услуг по-прежнему должно быть привязано к каким-то конкретным серверам, но нам необходимо спланировать масштабирование.
Мы хотели бы, чтобы процесс обновления был привязан к ветке git, поскольку он работал очень хорошо.
Первый вопрос: есть ли смысл сохранить teamcity в качестве системы для сборки и заставить ее создавать контейнер докеров и развертывать их на каждой машине с помощью docker compose / swarm?
Или в конечном итоге было бы лучше использовать другие инструменты?
Я немного посмотрел на kubernetes, но что именно он делает и т. д., Довольно расплывчато из документов, которые я могу найти в Интернете, и я не уверен, что он справится с циклом сборки / развертывания, который мы ищем.
Мы еще не занимались производством с докером, и я понимаю, что у всех были разные требования, но было бы полезно услышать несколько историй успеха / неудач, чтобы сузить варианты для исследования.
С логической точки зрения, какой вред можно нанести, если teamcity просто использует различные докер-контейнеры и строит их на них? Если что-то пойдет не так, скорее всего, это файлы журнала.
Я тоже так думаю, мне просто любопытно посмотреть, есть ли у кого-нибудь подобный конвейер, и извлечь уроки из их опыта.
мы используем teamcity с docker compose для dev и kuber для prod.


хотите объяснить отрицательный голос?