# 使用Heroku協助開發的奇技淫巧(X)實用功能(O) ###### tags: `Heroku` `部署` `雲端服務` `後端` `筆記` ## [Heroku簡介:提供免費架設網站/網路應用程式方案的PaaS雲端服務(細節詳見連結文章)](https://tw.alphacamp.co/blog/delpoy-an-app-to-paas-heroku) ## Heroku基本用法: 辦個帳號將專案部署上去,再以URL檢視網頁或API - 常見的語言、框架基本皆支援,如同架設Ubuntu伺服器 - 但系統有權限限制,如不能使用sudo - 全端Web、後端API、前端SSR皆適用 - 補充1:靜態網頁、使用框架的前端SPA,免費部署方案推薦用[GitHub Pages](https://pages.github.com/),需後端資料再串架在Heroku的API(**免費仔前後端分離套餐組合**的概念!) - 補充2:[Vercel](https://vercel.com/)也是免費架設靜態網頁/SPA的方案,比GitHub Pages多些客製化與模板選項,如[搭配hexo寫部落格](https://www.796t.com/article.php?id=219530)(文章資料以markdown形式寫在靜態網頁內儲存) - [範例:之前寫的PHP+MySQL操作步驟](https://hackmd.io/EyQl0ikjSBGNzGOnuGwQjQ) ## Heroku進階功能: ### dashboard設定調整 - 可查看調整的細部設定資訊 - 如協作權限、外掛選項、活動紀錄、部署設定、環境變數...... ### CLI操作指令 - [需額外安裝](https://devcenter.heroku.com/articles/heroku-cli),以`heroku`開頭,如用於帳號登入驗證(`login`操作APP的權限)、專案建立部署(整合`git push`版控)、遠端紀錄操作(取得即時`logs`或如本機`run`bash指令)...... - [指令列表](https://devcenter.heroku.com/articles/heroku-cli) - 也可參考在[各支援語言的常用指令](https://devcenter.heroku.com/start) ### add-ons外掛使用 - 常見需求:如資料庫、郵件寄送等第三方服務 - 應用程式首頁會有使用外掛的連結,連結可查看該外掛的細部設定 - 資料庫若須遠端存取,[推薦安裝圖形化介面遠端連線,所需登入資訊](https://hackmd.io/OKoBOIwzRzamCIJZKcrGYQ#%E5%B8%B8%E7%94%A8%E7%9A%84%E6%93%8D%E4%BD%9C%E4%BB%8B%E9%9D%A2)可從環境變數或外掛設定取得