Sign in

Зарегистрируйтесь, чтобы стать полноправным участником сообщества Masterpro.ws.

Деплоим Blog on Rails на Heroku

Deploy Blog on Rails to Heroku
Deploy Blog on Rails to Heroku

 

Этот небольшой док написан с той целью, чтобы все без исключения его читатели, независимо от наличия либо отсутствия технического бэкграунда - сумели, при желании, развернуть Blog on Rails на хостинге, используя бесплатный тарифный план Heroku. Понадобятся самые элементарные навыки работы с персональным компьютером, также установленные git и скрипты Heroku, подробнее об этом см. здесь.

 

Взглянуть Blog on Rails на Heroku.

Увидеть на гитхабе.

Примечание. В дальнейшем, если Blog on Rails придется по душе и вы решите его использовать в качестве CMS, оптимально все же иметь ruby и rails установленными на своем ПК; в этом случае я очень рекомендую удалить config/credentials.yml.enc и регенерировать его заново, вкупе с новым (отсутствует в репозитории) master.key:

EDITOR=vim rails credentials:edit

Но сейчас, чтобы "попробовать", это необязательно.

 

А вот "Access key ID" и "Secret access key" Амазона вам понадобятся. Если, конечно, собираетесь использовать Amazon S3 с Active Storage; процедура получения ключей многажды описана в Сети, и короткой строкой даже в этом блоге. Впрочем, для совсем быстрого эксперимента можно попробовать отключить Amazon S3 в качестве хранилища, изменив ':amazon' на ':local':

 

# config/environments/production.rb
config.active_storage.service = :amazon

 

Итак, начинаем. Клонируем репо и переходим во вновь созданную директорию:

 

$ git clone https://github.com/cmirnow/CRUD-Blog.git
$ cd CRUD-Blog

 

Удаляем или комментируем эти строки; вы вернете их на место следующим пушем, сразу после деплоя. Собсно, можно  и не возвращать, если некритично: конфиг удаляет из базы данных всю статистику визитов старше недели:

 

# config/initializers/ahoy.rb
Ahoy::Visit.where("started_at < ?", 1.week.ago).find_in_batches do |visits|
  visit_ids = visits.map(&:id)
  Ahoy::Event.where(visit_id: visit_ids).delete_all
  Ahoy::Visit.where(id: visit_ids).delete_all
end

 

и также это:

 

# config/application.rb
# https://github.com/rails/rails/issues/35817
config.active_storage.replace_on_assign_to_many = false

 

Далее открываем db/seeds.rb, где пишем (вместо моих) свои email и password для входа в панель управления.

Теперь:

 

$ git add .
$ git commit -m "my first commit"
$ heroku create
$ git push heroku master
$ heroku run rake db:migrate
$ heroku run rake db:seed

 

Открываем в вебе панель управления Heroku, Personal => Your_App => Settings => Reveal Config Vars, где вводим:

 

RECAPTCHA_SITE_KEY: "*************************"
RECAPTCHA_SECRET_KEY: "**************************"
GMAIL_USER_NAME: '****@***********'
GMAIL_PASSWORD: '************'
DOMAIN_NAME: 'https://mstp.herokuapp.com' #For example
SEND_EMAIL_TO: '****@*********'
SUBJECT_EMAIL: 'Hurray! You got a new form!'
SUBJECT_COMMENT_EMAIL: 'You got a new comment!'
KEY_OPENWEATHERMAP: '*******************************'
GOOGLE_MAP_KEY: '*************************************'
AWS_ACCESS_KEY_ID: '********************'
AWS_SECRET_ACCESS_KEY: '*********************************'

 

Основное - два последних в списке ключа AWS, но отсутствие остальных также способно вызвать проблемы. Расшифровывать, думаю, нет необходимости? - это все общедоступные API, без проблем предоставляющие бесплатные ключи доступа.

Пожалуй, это все; уже можно логиниться your_domain/admin и начинать работать с блогом. Первым делом создайте одну или несколько категорий, т. к. любой ваш материал должен принадлежать одной из них (впрочем, если категория не нужна - вы можете ее не публиковать, все материалы после публикации будут отображаться вне категорий).

Подробнее о свойствах Blog on Rails в этом материале. В случае любых проблем с деплоем -

 

heroku run rails console

Оставить комментарий

Добавьте ваш комментарий

Комментарии в блоге

  • Aleksej Интересно отметить: за всю свою жизнь в российском IT у меня не было ни одного проекта - а в пору,…

    Вторник, 19 января 2021

    Опубликовано в: Про IT Selection, gray salary и Барака Обаму
  • Рамат Они до сих пор такую шляпу предлагают с оформлением в известную американскую компанию через ИП или самозанятого, на прошлой неделе…

    Пятница, 15 января 2021

    Опубликовано в: Про IT Selection, gray salary и Барака Обаму
  • serge Да вроде на месте ссылки, Вася. Чем не устраивает сайт разработчика и его github?

    Четверг, 17 декабря 2020

    Опубликовано в: Fakeloader.js
  • Вася А где ссылки на скрипты? или их нет? скачивать нечего?

    Четверг, 17 декабря 2020

    Опубликовано в: Fakeloader.js
  • Aleksej This is a very old project, Lukas. Support has ended.

    Воскресенье, 06 декабря 2020

    Опубликовано в: Category Product Combinations. Prestashop module