Статьи

Развертывание приложения Sinatra в Heroku

Heroku — это платформа облачных приложений, разработанная для того, чтобы избавить администрацию сервера от проблем. Вы просто создаете свое приложение, отправляете его в Heroku через Git и отдыхаете. А как насчет развертывания приложения Sinatra? Давайте посмотрим…

Если вы последовали моему посту о создании приложения, управляемого данными, с помощью Sinatra,  вы, возможно, будете готовы к развертыванию. Поскольку Sinatra является приложением Ruby, его развертывание не так просто, как, скажем, приложение PHP, но все же не сложно.

Начало работы с Синатрой …

Если вы только начинаете с Синатры, вы можете найти этот пост полезным. Если вы переходите на Sinatra из PHP, я написал статью для Rubysource, в которой показано, как создать приложение для блога с помощью Sinatra.

Вам понадобится (бесплатная) учетная запись в Heroku .

Предполагая, что вы довольны своим приложением локально, следующее, что нужно сделать, это убедиться, что у вас есть пара файлов:

  1. Gemfile
  2. config.ru

Gemfile, который я описал в посте выше, включает ссылки на все гемы Ruby, используемые в приложении:

source :rubygems
gem 'sinatra'
gem 'rdiscount'
gem 'data_mapper'
gem 'dm-migrations'
gem 'pony'
gem 'dm-postgres-adapter', :group => :production
gem 'dm-sqlite-adapter', :group => :development
group :production do
  gem 'pg', '0.14.1'
end

Вам могут не понадобиться некоторые из них: rdiscount и Pony, например. Я буду обсуждать это в следующем посте. Обратите внимание на группы по производству и развитию. Heroku не поддерживает Sqlite.

Sinatra

Sinatra

Sinatra — это приложение Rack , но у Heroku с этим нет проблем. Нам просто нужен файл, чтобы объяснить, как мы хотим, чтобы наше приложение работало:

В config.ru вам необходимо следующее:

require './main'
run Sinatra::Application

Вы развертываете в Heroku через Git , систему управления исходным кодом. Вы можете инициализировать Git-репозиторий из командной строки:

git init

Установите драгоценный камень Heroku

Вам также понадобится драгоценный камень Heroku:

gem install heroku

SSH ключи

Вам нужно будет создать ключи SSH. Вы можете узнать, как это сделать здесь

Пока вы находитесь в командной строке, вам необходимо подключить свои ключи к Heroku для безопасной связи между вашим компьютером в Heroku:

heroku keys:add

Вам будет предложено добавить учетные данные, с помощью которых вы создали свою учетную запись Heroku.

Создать приложение Heroku

Вернемся к командной строке:
heroku create nameofapp

Где nameofapp — это то, что вы хотите назвать для своего приложения, имея в виду, что Heroku создаст ваше приложение с таким URL-адресом: nameofapp.herokuapp.com.

Затем, предполагая, что вы зафиксировали свои последние обновления, вы можете сделать:

git push heroku master

Вы увидите, как Heroku получит push, сожмет файлы, установит необходимые гемы Ruby, а затем, если повезет, развернет ваше приложение.

Все, что вам нужно сделать сейчас, это продолжить разработку приложения, коммит и толчок Git к Heroku для развертывания.