×
Внимание, мошенник-работодатель (10 авг 2017)

Вниманию программистов Санкт-Петербурга, на SuperJob-е вновь активизировался Семен Григорьевич Шумейко..

Вопрос Памятка. Как опубликовать rails-приложение на Heroku

Больше
1 мес. 2 нед. назад - 1 мес. 1 нед. назад #1 от serge
serge создал эту тему: Памятка. Как опубликовать rails-приложение на Heroku
Уточняю сходу: не просто
как опубликовать rails-приложение на Heroku
, а -
как бесплатно опубликовать rails-приложение на Heroku

Вы ведь искали именно это? Вам сюда. ;)

Прежде всего понадобится установленный локально git, без него тут как без рук. Хотя в Introduction - Getting Started on Heroku with Ruby - вроде как и не требуется. Устанавливаем git, подробнее по теме в материале Ruby on Rails и Git . Еще очень хорошо бы иметь на своей локальной машине установленный (и настроенный) PostgreSQL, объясню это чуть позже.

Далее идем на Heroku , внимательно читаем условия и регим себе Free аккаунт. Главное сделано (это если предположить, что Ruby, а то и Ruby on Rails у вас уже давно установлены, коли пришли на Heroku!).

Переходим с "Introduction" на следующую ступеньку, "Set up". Внимание, крайне ответственный момент: здесь придется "Download the Heroku CLI for" вашей операционной системы и архитектуры. Для любого другого линукса, кроме Debian/Ubuntu, выбираем Standalone и выполняем ЦУ (увидите). Все в общем несложно: нужно скачать именно то что нужно, распаковать, создать символическую ссылку:

# Run this from your terminal.
# Replace OS with one of “linux”, “darwin”, “windows”, “freebsd”, “openbsd”
# Replace ARCH with one of “amd64”, “386” or “arm”
wget https://cli-assets.heroku.com/branches/stable/heroku-OS-ARCH.tar.gz
mkdir -p /usr/local/lib /usr/local/bin
tar -xvzf heroku-OS-ARCH.tar.gz -C /usr/local/lib
ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
# ensure that /usr/local/bin is in the PATH environment variable


И затем можно не торопясь спускаться по пунктам меню, проходя КМБ: страничка "Prepare the app" показывает как клонировать с гитхаба первое приложение, потом "Deploy the app", и т.д. и т.п. -

$ heroku create
$ git push heroku master


Все работает без сучка и задоринки, пробуйте. Но хотелось бы обратить ваше внимание на два-три момента.

1. Heroku не понимает принятого по дефолту в Rails SQLite, здесь только PostgreSQL, кто не знает, придется осваивать. В помощь материал PostgreSQL для Ruby on Rails . Соответственно, при создании Rails-приложения локально используем следующий синтаксис, вместо

rails new appname


вводим

rails new appname -d postgresql


Если клонировали с гитхаба приложение, построенное на SQLite, придется отредактировать Gemfile и database.yml, заменив gem 'sqlite3' на gem 'pg' и adapter: sqlite3 на adapter: postgresql. Думаю, несложно, тем более примеры всегда под рукой, возьмете на гитхабе или сгенерите сами, это ведь несколько секунд.

2. Если создали Rails-приложение самостоятельно, а репозиторий git для него не поднимали, скрипты Heroku выдадут ошибку при попытке залить приложение на хостинг. В этом случае инициализируем git, добавляем и комитим, только после чего клонируем созданный реп на Heroku:

$ git init
$ git add .
$ git commit -m "first commit"
$ git push heroku master

3. И не забываем про миграцию БД. В вашем локальном Rails это делается так:

$ rake db:migrate


а в Heroku так:

$ heroku run rake db:migrate

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 1 мес. 1 нед. назад от p.rishard.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 мес. 1 нед. назад #2 от Aleksej
Aleksej ответил в теме Памятка. Как опубликовать rails-приложение на Heroku
Дополню:
если удалили приложение из Heroku, затем заново создвли:

$ heroku create

, то теперь "пушить" так просто не получится:

$ git push heroku master       
remote: !       No such app as ********************.
fatal: repository 'https://git.heroku.com/**********************/' not found

Решение:

Выполните, подставив новый URL репозитория, полученный в результате heroku create:

$ git remote set-url heroku https://git.heroku.com/********************.git


И теперь уже можно:

$ git push heroku master

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 мес. 1 нед. назад #3 от serge
serge ответил в теме Памятка. Как опубликовать rails-приложение на Heroku
Просмотреть историю релизов:
$ heroku releases
$ heroku releases info v7   # например

и откатиться:
$ heroku rollback   # к последней версии
$ heroku rollback v40   # к любому другому релизу

А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.