家裡如果放一台 24 H 不關機的電腦,就可以當作伺服器讓世界各地的人類們都可以連上你的 LINE Bot,不過因前置作業複雜,也需要有一定的技術基礎,新手能選擇將程式碼「放」在雲上,放這件事情我們稱之為「部屬」(Deploy) ,而雲就是別人家的伺服器啦。因本文章客群為學生,所以這邊介紹 GitHub 所提供的學生方案,以及 Heroku 老牌雲端平台也串接 GitHub 學生認證,讓每個月的網站伺服器運作及資料庫租費都可以折抵,以一個小專案來說是非常綽綽有餘的~
註冊 GitHub 這種事就不贅述了,完成後請到 GitHub Education 進行申請,完成後也會有 GirHub Wiki 的服務哦~
可能會需要在學證明或是學生證。
到 GitHub 建立一個新的 repo,Repository name 可以自訂專案名稱,就直接按 Create repository 即可。
透過指令在 Python 虛擬環境中輸入
git init
等,就可以建立 Git 版本控制。
並在與db.sqlite3
同層加入.gitignore
新檔案,我們來將一些檔案做忽略,在 [Day 04] 有提及到以下檔案中的功能,這些在 GitHub 與 Heroku 都是不需要的,在雲上也會有自己的資料庫與編譯過程的過度檔案。
__pycache__
*.pyc
*.pem
.env
db.sqlite3
Heroku 是提供雲端資料庫與部屬網站的服務,我們會將機器人放到 Heroku 上面,並應用其資料庫功能,伺服器運作與資料庫儲存是兩筆付費的產品,身為學生則可以先將 Heroku 與 GitHub 串聯,串聯後除了可以將 GitHub 中的 repo 無痛部屬在 Heroku 之外,還可以因為先前已認證為 GitHub Education,獲得兩年每月 $ 13 美元的使用額度哦~ 申請頁面
林林總總的網站與認證註冊完成後,接下來會將原專案的內容做一些放到環境庫的前置作業,包含環境變數的設定、套件版本的輸出,以及資料庫的建立。
在這篇文章中,我們學會了: