Назад | Перейти на главную страницу

Как небольшой команде, использующей несколько ОС, развертывать через github?

У нас есть небольшая команда разработчиков, которая недавно перешла на использование 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 в специальное репозиторий, которое вы настраиваете, при этом все оставшиеся операции развертывания выполняются на целевом сервере с помощью сценариев ловушек, которые вы пишете для своего приложения.