2012-03-20 2 views
8

Я разработчик node.js. Раньше я использовал платформу Heroku и Joyent no.de.Как включить непрерывное развертывание приложений Node.js в Amazon EC2?

Для обеих этих платформ, развертывание используется для простой

git push heroku master (Heroku) 

git push joyent master (Joyent's node) 

Эти команды используются, чтобы сделать магию. Они позволили мне вывести код с моей локальной машины на облачный сервер, развернуть его и автоматически перезапустить сервер.

Теперь я планирую использовать Amazon AWS как более настраиваемый для моих нужд. Как настроить аналогичную функцию на Amazon EC2 для непрерывного развертывания?

Я использую AMI Ubuntu.

Есть ли какой-нибудь инструмент, который поможет мне достичь этого? Если есть какие-либо ресурсы/учебники, которые могут мне помочь, сообщите мне.

Спасибо!

ответ

9

Этот механизм автоматического развертывания реализован с использованием Git Hooks. Самый вероятный крючок - post-update.

Это простой сценарий bash, который выполняется на git push; поместите один в репозиторий git на ваш сервер EC2, включая код для повторного запуска NPM (если необходимо) и перезапустите свой код.

Это должно быть сделано. :)

4

Используйте roco - решение для развертывания, вдохновленное capistrano, отлично работает с express/railjs + git + upstart. Если у вас есть другой env, не стесняйтесь настраивать его, используя Roco.coffee

Он также может быть просто сконфигурирован с помощью крюка post-update, чтобы работать как в героике, так и в радости.

Вот крошечный учебник для этого инструмента: http://node-js.ru/4-deploy-with-roco

2

Заканчивать AWS Elastic Beanstalk

Это позволяет развертывать приложения на амазонку экземпляр ec2, запустив:

git aws.push --environment testing 
// or 
git aws.push --environment production 

В documentation page содержит много качественной информации, чтобы начать работу!

Смежные вопросы