iT邦幫忙

DAY 17
1

從想法到快速實作的捷徑:Rails系列 第 17

[ Day 17 ][ Deploy ] 部署到 heroku

  • 分享至 

  • xImage
  •  

其實production環境應該要在一開始就先建好,

否則到時候一部署上去發現一大堆問題就來不及了,

而要部署到機器上,流程大概是這樣:

  1. 要先設置機器的環境:
  • 裝上rails、db以及rbenv(通常部署環境不會用rvm,不過一樣見仁見智),以及其他必要的gems,裝完之後還要設定database的adapter
  1. 本機上要設定capistrano:
  1. 開始部署:
  • 雙手合十,然後:唉......

這時候有個好用的東西出來了,

假如你沒有非常大的流量,只是想要測試一下,

那heroku非常的適合你。

ps
當你的流量夠大之後,heroku也許還是適合你,但你的口袋要夠深才行

準備工作:

  • 在部署之前要先將你的專案push到github上面,待會要將你的SSH clone URL複製下來,待會會用到

  • 我的習慣是會開一個專門給heroku用的branch,讓production跟development分的更清楚一點

  • 現在用的branch是heroku

  • 有一個常見的問題是heroku不支援sqlite3,記得把該移到development和test環境的gem做好

下面是參考的Gemfile定:

group :development do
  gem "better_errors"
  gem "binding_of_caller"
end

group :development, :test do
  gem 'pry-rails'
  gem 'rspec-rails', '~> 3.1.0'
  gem 'faker'
  gem 'guard'
  gem 'guard-rspec'
  gem 'terminal-notifier-guard'
end

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

簡單的heroku教學

  • 先申請heroku帳號並安裝toolbelt https://devcenter.heroku.com/articles/getting-started-with-ruby#set-up

  • 安裝完之後,可以輸入heroku看一下有沒有安裝成功,有的話輸入heroku login

  • 再來輸入heroku create,會在heroku那邊開一個機器給你,基本上不用去對他做額外的設定

  • 接著只要輸入git push heroku master就行了

如果你跟我一樣是開了一個叫做heroku的branch來做,那你可以指定branch:
git push heroku BRANCH\_NAME:master,像這裡就是git push heroku heroku:master

  • 到這裡如果有錯誤的話可以看heroku logs

  • 想要重新命名的話可以執行heroku apps:rename new-name

  • 我們不需要去記住網址,只要執行heroku open就可以了

  • 第一次開都會很慢,不用擔心,通常都是因為heroku的關係,畢竟免費的嘛XD

  • 之後還是會寫一篇用chef配合aws ec2的部署,其實設定完之後也不會比git push heroku難多少,而且還更快更有彈性了!

參考資料:
https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction


上一篇
[ Day 16 ] 簡單的美化一下網站 - Bootstrap
下一篇
[ Day 18 ][ Dev ] 簡單的Model資料表關聯
系列文
從想法到快速實作的捷徑:Rails30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言