上一篇已經將前置作業都完成了,最後就是上傳專案程式碼,並建立Heroku Postgres的資料表,最後將linebot的url設置為Heroku的url。
首先回到PyCharm,建立一個新的python檔案,然後取名為【config】
然後到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')
範例圖:
再到app.py 主程式 將
app.config['SQLALCHEMY_DATABASE_URI']
與
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']
相繼註解掉 【ctrl】+【/】
然後加上這段程式碼:
app.config.from_object(os.environ.get('APP_SETTINGS', 'config.DevConfig'))
再來進到 line_bot_api 修改 程式碼為這內容:
完成後,就在專案上右鍵點擊建立file,取名為【Procfile】
在【Procfile】輸入程式碼:
web gunicorn app:app
再來在terminal輸入
pip freeze > requirements.txt
成功輸入就能看到有requirements.txt生成,而requirements.txt就會列出APP用到的套件版本列表。
接下來回到heroku > Deploy下,選擇使用heroku git安裝【Download and install the Heroku CLI.】,然後就按照你的系統選擇安裝
然後也要安裝【git】,一樣也是按照你的系統選擇安裝
https://git-scm.com/downloads
都完成之後,重新啟動pycharm,然後在terminal輸入
heroku login
然後會跳出一個視窗選擇login
繼續在terminal輸入程式碼,進行git初始化
git init
再來設定遠端部署到我在heroku的ironmanedwardbot這專案
heroku git:remote -a ironmanedwardbot
再來新增一個名為gitignore的檔案,從File選擇Settings,然後選擇Plugins,並搜尋【gitignore】安裝
到專案資料夾新增一個gitignore的git檔案,然後搜尋python並勾選起來,最後按下Generate,就會產生gitignore的檔案。
然後將gitignore開啟,在末段加上 .idea/
繼續在回到terminal輸入程式碼
git add .
繼續輸入
git commit -am "make it better"
在輸入以下程式碼,將專案部屬至heroku
git push heroku master
再來將資料庫版本更新
heroku run flask db upgrade
都完成了 接續到pgadmin,登入到新的SEVER。取名為Heroku PostgreSQL
再到connection,依序填入Heroku提供的帳號密碼
完成之後到Heroku,到【OPEN APP】複製連結
貼到line developers的Webhook URL
這樣就完成了,可以測試看看
=============================
這三十天,說長不長說短不短,讓我這些日子過得很充實。第一次嘗試每天都寫一篇文章,是很不錯的體驗,雖然這次內容普普,也有很多地方需要加強。我會吸取這次經驗,好好規畫下一屆的主題與內容。