Yac 2013 посетил Jason Rudolph из GitHub. Я считаю его доклад про API был одним из самых интересных на конференции. Яндекс обещал выложить в сеть записи, так что советую на досуге посмотреть его всем, кто не видел.
Но речь пойдет не о докладе. На картинке график релизов GitHub на продакшн.
Когда я услышал цифру, я не поверил своим ушам. У GitHub'а сотни обновлений в неделю. В команде около сорока разработчиков и ни одного QA.
К счастью Джейсон после доклада еще какое-то время находился рядом со сценой и я смог расспросить его с пристрастием о том как они это делают.
В GitHub'е живет Hubot. Сначала это был just4fun чат-бот. Со временем он научился открывать двери в офисе и… запускать выкладку на продакшн. В GitHub выкладку может запустить любой разработчик из любого фича-бренча простым сообщением в чат. Я часто и много занимаюсь релиз-менеджментом. Когда я услышал о таком порядке деплоя волосы на руках непроизвольно зашевелились. На самом деле, выложить «битый» релиз вам все-равно не дадут. Выкладка происходит следующем образом:
Но речь пойдет не о докладе. На картинке график релизов GitHub на продакшн.
Когда я услышал цифру, я не поверил своим ушам. У GitHub'а сотни обновлений в неделю. В команде около сорока разработчиков и ни одного QA.
К счастью Джейсон после доклада еще какое-то время находился рядом со сценой и я смог расспросить его с пристрастием о том как они это делают.
В GitHub'е живет Hubot. Сначала это был just4fun чат-бот. Со временем он научился открывать двери в офисе и… запускать выкладку на продакшн. В GitHub выкладку может запустить любой разработчик из любого фича-бренча простым сообщением в чат. Я часто и много занимаюсь релиз-менеджментом. Когда я услышал о таком порядке деплоя волосы на руках непроизвольно зашевелились. На самом деле, выложить «битый» релиз вам все-равно не дадут. Выкладка происходит следующем образом:
- Если бренч не был смержен с мастером — смержить его
- Запустить тесты
- Запустить миграции
- Выложить изменения в staff-only режиме
- Если все хорошо, включить «публичный режим»
- Проверить логи и твиттер на наличие ошибок/WTF-твитов
- Если все ок смержить фичу в мастер