Подтвердить что ты не робот

Развертывание на Героку с Капистрано?

Я все еще привык к экосистеме развития Rails. Недавно я узнал, как использовать capistrano для развертывания на моих серверах с помощью apache и пассажира, и мне нравится, как я могу поставить довольно сложный набор инструкций по развертыванию в свой файл deploy.rb, чтобы они выполнялись с помощью одного вызова "разворачивания", с автоматическим откатом, если что-то пойдет не так.

Теперь я изучаю развертывание своего проекта на Heroku, и я ожидал, что смогу использовать capistrano для своих развертываний. Но я не смог найти документацию о том, как это сделать. Является ли это возможным? Есть ли задачи capistrano, которые позволяют мне автоматизировать развертывание на Heroku?

Это даже имеет смысл? Ведь capistrano работает определенным образом (ssh на сервере) и предполагает определенную структуру каталогов (public/релизы/shared и т.д.). Насколько я знаю, обоим из них невозможно с Героку. Но все же я хотел бы иметь удобство capistrano. Я знаю, что могу выполнить шаги, необходимые для моего развертывания (git push/migrate/restart resque workers...) в одну задачу rake, и у меня будет удобство развертывания с вызовом одной команды; но у меня не было бы преимуществ транзакций и откатов в капитанах, которые очень важны в моем сознании.

Вероятно, мне не хватает чего-то очень простого в том, как эти технологии подходят друг другу. Меня это немного удивляет, что я нигде не мог найти обсуждения по этому вопросу. Может ли кто-нибудь поделиться своим опытом?

4b9b3361

Ответ 1

Heroku использует Git для развертывания и не является конфиденциальным. Фактически, сама философия различна - у Heroku нет "серверов", где вы можете использовать SSH или настраивать сервер для своих нужд.

Heroku использует Dynos, которые являются предопределенными экземплярами, с конкретной архитектурой развертывания, которая охватывает большинство потребностей развертывания Rails. Вы можете делать такие действия, как откаты, резервные копии, миграции и т.д. С Heroku, в некоторых случаях более сложные, чем обычные скрипты capistrano.

Если ваша настройка совсем другая, вы можете безопасно использовать Heroku для Rails (только с Git, конечно). Если нет, AWS лучше делать ставку.