佈署聊天機器人(linebot)到heroku

Charles Huang
4 min readSep 29, 2019

--

延續前篇的手把手教你建聊天機器人(linebot+nodjes+ngrok),這篇要教你怎樣部屬到heroku上。

ok,可能會提問說為什麼不繼續用ngrok了呢? 因為免費版的ngrok他每八小時就會expired一次,讓你不得不重啟服務。若只是短時間的測試webhook之類的功能還夠用,但若是希望服務可以長時間維持的話就不夠啦!

Heroku setup

Heroku是一個支援多種程式語言的雲平台即服務,提供開發者免費的方案以及一組固定的domain url,讓我們能快速的佈署服務並且可以透過domain去做存取。

首先,先去Heroku註冊個帳號吧!

接著就來create一個heroku app

填入你喜歡的app名稱

接著app建立完後,就可以開始佈署我們的code上去啦! Heroku提供三種方式上傳code。

這邊我選擇用第一個,也就是透過Heroku CLI + git的方式,所以先去下載並安裝CLI tool

安裝好後開啟我們的小黑窗(cmder)

$ heroku login

接著去我們的bot folder新增一個git repository。

$ cd bot
$ git init
$ heroku git:remote -a <YOUR APP NAME>

然後利用git把bot code都給新增並上傳到heroku。

$ git add .
$ git commit -am "linebot first version"
$ git push heroku master

然後可以從小黑窗看到以下output

可以注意到,上傳後heroku自動偵測到我們所使用的語言為Node.js,接著他就開始了auto build的流程,安裝所有相關的dependency library,最後再把我們的bot給執行起來。並提供一組固定的url出來。

Line webhook

目前為止我們成功的上傳我們的bot到heroku上了,並且也得到了一組固定的domain,所以最後我們要做的事情很簡單,就是去更新我們的line channel webhook url!

實際測試(bot與前一篇有小改icon以及reply format):

錯誤尋找

如果發現事情沒照你預期的運作時,可以透過以下指令去查詢heroku log唷

heroku login //如果沒登入
heroku logs --tail --app {HEROKU_APP_NAME}

一些參數解釋如下

--tail                     # 持續打印日誌
--app {HEROKU_APP_NAME} # 指定 App

以上就是把聊天機器人佈署到heroku的流程,如果有任何問題歡迎聯絡我,感謝!

--

--

Charles Huang

Made in Taiwan的後端工程師,擅長nodejs做後端開發。相信分享與交流可以讓世界更美好,加上自己有點金魚腦,所以開始了寫些有的沒的之路XD