Коллеги привет!
Надеюсь вопрос в тему рассылки.
У нас небольшая команда программистов - 10 чел - и все знаю что происходит в проекте (есть ревью и тп)
Мы используем три типа нод - балансер, апп-сервера, базы. Все на windows.
Софт выкатывается только на балансер и аппы. На базу мы ничего не накатываем. Схема апгрейдится либо руками (если большое изменения) либо апгрейд-скриптами в аппе.
Системный софт накатываем политиками.
В идеале - и я надеюсь опытные коллеги меня поправят - я хочу получить такую схему:
- выкатка на бой, после того как пройдены защитные меры - авто-тесты + ручная проверка
- настройка выкатки делается программистом - он знает в каком окружении все у него работает (подключает 3rd party либы, пишет апгрейд скрипты БД, конфигурирует сервисы)
- в идеале он все это делает в своей IDE - Visual studio
- комит в ветку-ревью-пуш-автотесты на тимсити-выкатка на ручное тестирование.
- ок от ручного тестирования-деплой на бой.
По возможности хочу избежать лишних систем. Так как нужны специалисты, нужно написать связки - дополнительные ошибки, время+деньги.
Поэтому если деплой возможет только с помощью тим-сити - то это чудесно. Еще хотелось бы избежать описания изменений в среде в нескольких местах - в проектах разработчика и в проектах деплоера.
Но при этом я хочу:
- видеть кто и что менял в конфигурации (git)
- чтобы конфигурации однотипных нод были одинаковыми (на тесте стейде и бою) - и это гарантировалось тулами
- деплой на боевой должен делаться по команде человека
- я хочу подконтрольного обновления боя - сначала одна нода, потом остальные (с возможностью обновлять группами)
Собственно вопросы:
- правильного ли я хочу? :)
- позитивный или негативный опыт использования team city для этого - у нее заявлен деплой
- позитивный-негативный опыт использования связки team city + <cms>
Спасибо!
Кирилл