У нас есть небольшая команда разработчиков, которая недавно перешла на использование github для размещения наших проектов.
Команда состоит из трех разработчиков: 2 для Windows и 1 для Mac.
В настоящее время я ищу лучший способ развертывания приложений на наших серверах Linux (для разработки и производства).
Capistrano, работающий локально, был бы идеальным, но из того, что я читал, это не будет работать на машинах Windows.
Похоже, что лучший способ - использовать обработчик post-receive в github, я вижу, как это будет работать при автоматическом развертывании на dev, но я не понимаю, как мы могли бы затем развернуть его вживую.
Я нашел платные проекты вроде http://www.deployhq.com/ но похоже на то, что небольшой фрагмент кода должен уметь делать бесплатно, я просто не могу указать мне правильное направление!
Мне было интересно, что будет считаться лучшей практикой для развертывания небольшой команды с использованием нескольких локальных ОС и github.
Мы используем Webistrano, который является веб-интерфейсом Capistrano. Он поддерживает различные VCS, такие как SVN, Git и Mercurial. Он поддерживает развертывание на нескольких серверах одновременно, транзакции и откаты.
Благодаря своим корням Capistrano, легко создавать сценарии, такие как очистка кешей после развертывания и т. Д.
Мы очень довольны этим. Он требует немного ресурсов и просто запускается как приложение Rails под управлением Passenger. Наш форк с некоторыми исправлениями можно найти на https://bitbucket.org/insiders/webistrano/.
Рискуя затрубить себе в рог, я бы рекомендовал Легкомысленный до. Это сокращает развертывание до git push
в специальное репозиторий, которое вы настраиваете, при этом все оставшиеся операции развертывания выполняются на целевом сервере с помощью сценариев ловушек, которые вы пишете для своего приложения.