iT邦幫忙

2022 iThome 鐵人賽

DAY 30
0
自我挑戰組

30天玩轉規劃LINE BOT系列 第 30

第30天:完成部屬linebot !

  • 分享至 

  • xImage
  •  

上一篇已經將前置作業都完成了,最後就是上傳專案程式碼,並建立Heroku Postgres的資料表,最後將linebot的url設置為Heroku的url。

首先回到PyCharm,建立一個新的python檔案,然後取名為【config】
https://ithelp.ithome.com.tw/upload/images/20221015/20144761af6FfTZjtA.png

然後到config檔內輸入這程式碼:

import os

class Config:
    SQLALCHEMY_TRACK_MODIFICATIONS = False

class DevConfig(Config):
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = '本機的postgre資料庫'

class ProdConfig(Config):
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URI')

範例圖:
https://ithelp.ithome.com.tw/upload/images/20221015/201447617QFh0vfp7s.png

再到app.py 主程式 將
app.config['SQLALCHEMY_DATABASE_URI']

app.config['SQLALCHEMY_TRACK_MODIFICATIONS']
相繼註解掉 【ctrl】+【/】
然後加上這段程式碼:

app.config.from_object(os.environ.get('APP_SETTINGS', 'config.DevConfig'))

https://ithelp.ithome.com.tw/upload/images/20221015/201447610MLIxFaNT0.png

再來進到 line_bot_api 修改 程式碼為這內容:
https://ithelp.ithome.com.tw/upload/images/20221015/20144761aM661jQvV8.png

完成後,就在專案上右鍵點擊建立file,取名為【Procfile】
https://ithelp.ithome.com.tw/upload/images/20221015/20144761eSMRcwbneO.png

在【Procfile】輸入程式碼:

web gunicorn app:app

https://ithelp.ithome.com.tw/upload/images/20221015/20144761X8q0OjE9u0.png

再來在terminal輸入

pip freeze > requirements.txt

成功輸入就能看到有requirements.txt生成,而requirements.txt就會列出APP用到的套件版本列表。
https://ithelp.ithome.com.tw/upload/images/20221015/20144761ftUspNTWDx.png

接下來回到heroku > Deploy下,選擇使用heroku git安裝【Download and install the Heroku CLI.】,然後就按照你的系統選擇安裝
https://ithelp.ithome.com.tw/upload/images/20221015/20144761QaVHrzM9s2.png

然後也要安裝【git】,一樣也是按照你的系統選擇安裝
https://git-scm.com/downloads

都完成之後,重新啟動pycharm,然後在terminal輸入

heroku login

然後會跳出一個視窗選擇login
https://ithelp.ithome.com.tw/upload/images/20221015/20144761KJoRwjfpah.png

繼續在terminal輸入程式碼,進行git初始化

git init

再來設定遠端部署到我在heroku的ironmanedwardbot這專案

heroku git:remote -a ironmanedwardbot

再來新增一個名為gitignore的檔案,從File選擇Settings,然後選擇Plugins,並搜尋【gitignore】安裝
https://ithelp.ithome.com.tw/upload/images/20221015/20144761JmRqkpuWPR.png

到專案資料夾新增一個gitignore的git檔案,然後搜尋python並勾選起來,最後按下Generate,就會產生gitignore的檔案。
https://ithelp.ithome.com.tw/upload/images/20221015/20144761qR4IPENAYu.png

然後將gitignore開啟,在末段加上 .idea/
https://ithelp.ithome.com.tw/upload/images/20221015/201447612E0Ho9NON7.png

繼續在回到terminal輸入程式碼

git add .

繼續輸入

git commit -am "make it better"

在輸入以下程式碼,將專案部屬至heroku

git push heroku master

再來將資料庫版本更新

heroku run flask db upgrade

都完成了 接續到pgadmin,登入到新的SEVER。取名為Heroku PostgreSQL
https://ithelp.ithome.com.tw/upload/images/20221015/20144761mZqOmxSPpm.png

再到connection,依序填入Heroku提供的帳號密碼
https://ithelp.ithome.com.tw/upload/images/20221015/20144761El79fELtCf.png

完成之後到Heroku,到【OPEN APP】複製連結
https://ithelp.ithome.com.tw/upload/images/20221015/20144761e87L1XJ0iv.png

貼到line developers的Webhook URL
https://ithelp.ithome.com.tw/upload/images/20221015/20144761BX74YzkF41.png

這樣就完成了,可以測試看看

=============================
這三十天,說長不長說短不短,讓我這些日子過得很充實。第一次嘗試每天都寫一篇文章,是很不錯的體驗,雖然這次內容普普,也有很多地方需要加強。我會吸取這次經驗,好好規畫下一屆的主題與內容。


上一篇
第29天:部屬line bot 機器人
系列文
30天玩轉規劃LINE BOT30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
arguskao
iT邦新手 3 級 ‧ 2022-12-19 21:58:04

真的很棒!

我要留言

立即登入留言