Как правильно организовать инфраструктуру продакшена и процессы разработки, тестирования и деплоя?
Нельзя брать некую теоретическую компанию и делать теоретическую структуру продакшена.
Надо брать конкретный продукт, конкретные требования заказчика, который платит деньги, и отталкиваться от этого.
Можно настраивать CI, можно разводить agile процессы, но главное - выяснить требования заказчика, и подстраиваться под них.
Так, система управлениями версиями у вас есть, теперь посмотрите на автотесты, юнит тесты, прочие системы автоматизированного тестирования, затем на системы хранения версий\отдельных библиотек , затем на системы управления серверами и ПО на них, системы мониторинга, а так же та то, как это всё связать, дополнительно можно посмотреть в сторону devOps
Если рассматривать сферического коня в вакууме, то  примерно так:
разработчик делает коммит в git -> git c помощью хуков проверяет синтаксис ( если это код), еще что-либо, если все окей, то коммит проходит -> некая система типа jenkins\bamboo\etc видит новый коммит, разворачивает новый поделку, затем прогоняет юнит\смоук\прочие автотесты -> если тесты не прошли, то создаёт тикет в баг трекере , если тесты прошли - проставляет метку\версию , возможно заливает результат в некий репозиторий, либо в  какую-нибудь хранилку ( типа artifactory ) -> система управления серверами ( либо в ручном режиме админ ) обновляет сервера -> по окончанию -  неплохо бы проверить, что покажет мониторинг и отправить письмо радости менеджеру проекта.
Как-то так, но опять же , это конь в вакууме в идеальном мире. А еще можно книжки разные почитать =)
UPD: а еще вот хороший статья - habrahabr.ru/post/197026