---
# System prepended metadata

title: 12th 鐵人賽 Day_28 專案部署？Heroku？
tags: [12th 鐵人賽]

---

---
title: 12th 鐵人賽 Day_28 專案部署？Heroku？
tags: 12th 鐵人賽
--- 
# 12th 鐵人賽 Day_28 專案部署？Heroku？

嗨！各位朋友大家好，打給後，歹嘎吼，胎尬喉，我是阿圓，一樣有請今天的one piece：
![](https://i.imgur.com/laJzeTb.png)
(克比也是挺勵志的一個角色！)
昨天終於簡單介紹完了 action cable ，在最後這幾天想來講一下專案部署的部分，部署的方式有兩種，一種是使用方便的heroku 平台，一種是使用AWS、GCP的主機部署，今天先來講 Heroku 平台的服務。

# Heroku ?
>Heroku是一個支援多種程式語言的PaaS(platform as a service(平台即服務))

至於什麼是PaaS呢？請參閱 [wiki](https://en.wikipedia.org/wiki/Platform_as_a_service)

Heroku 就是一個遠端平台，你可以利用 GitHub ，將你的專案放在這個平台上動起來。(也就是不用管 server 主機的設定，他會幫你做好)
至於要怎麼做呢？

1. 請先申請 heroku 帳號，並建立專案空間。
2. 安裝 Heroku Cli ，請參閱[官方說明](https://devcenter.heroku.com/articles/heroku-cli)

3. 在終端機裡：
```bash=
$ heroku login
Enter your Heroku credentials.
Email: 請輸入你的 heroku Email
Password (typing will be hidden):
Logged in as xxxxx
```

4. 由於 Heroku 是利用 git 部署，請記得將專案加入 git 版控！接著，請在終端機輸入：
```bash=
$ heroku create
```
這個指令，會幫你在 heroku 開一個伺服器，並在 git 建立一個 Heroku 遠端分支。

5. 最後把專案推上 Heroku：

```bash=
$ git push heroku master
```
這裡就會將專案推到 heroku 上的伺服器，自動地幫你 bundle install。(請注意，資料庫用 SQLite 3，的話這裡會出事，因為 Heroku 預設支援 PostgreSQL 資料庫，請記得改過來。)

6. 在 heroku 上執行 `rails db:migrate`
```bash=
$ heroku run rails db:migrate
```
最後就可以在 heroku overview 的地方，點選 點選 open app，打開你網頁了！


不過 heroku 免費版的有一些限制：
1. 30 分鐘沒有人連線的話就會進入休眠
2. 每天至少要休眠 8 小時的限制

不過對於小流量的網站，這些就綽綽有餘了！感謝各位看到這邊，若有任何建議，請各位不吝指教！我們明天見！
![](https://i.imgur.com/PPbpd2b.gif)