關於 heroku 在 windows 上的部署

其實之前就做過了, 只是沒能留下筆記, 只好再把流程紀錄一遍.
(怎感覺自己一直再重複作業 n 把事情搞複雜... Orz)

*另外用 heroku 的主要考量還是想先試試水溫 (也是沒有錢 Orz), 待有固定收入再搬到 linode 好了

[目標] 在 heroku 上部屬 python web application
[參考]  https://devcenter.heroku.com/articles/python
[需要工具]
1. python (v2.7)
2. pip, Virtualenv, flask
3. heroku account, heroku client application [這裡略過]
[ Local workstation setup -- Windows ]
0.1. python 2.7 (官網)
0.2. pip 的安裝需要 setuptools 跟 pip 的同時安裝, 這裡有佛心執行檔連結.
0.3. Virtualenv 的安裝直接下 :>pip install virtualenv 即可.
0.4. VIRTUAL_ENV = 'virtual_env27'
建立 folder :>mkdir VIRTUAL_ENV
建立 virtual environment :>virtualenv VIRTUAL_ENV
0.5. 安裝framework flask, 直接下 :>pip install flask 即可.
0.6.
建立 放至專案的 folder :>cd VIRTUAL_ENV; :>mkdir Projects; :>cd Projects
1.0.
建立 第一個專案 helloheroku folder :>mkdir helloheroku; :>cd helloheroku
1.1.
建立 第一支 flask 程式 app.py, 參考 flask 官網
1.2.
利用 heroku 提供的兩個工具 Procfile 與 foreman 作 local testing
Procfile 內文:web: python app.py
執行 foreman :>foreman start
1.3. 開啟 browser :>localhost:[port]/
------ 以上完成local testing ------
1.4.
產生 heroku 主機上檢查app dependencies :>pip freeze > requirements.txt
1.5. 使用 git 上傳 repo
1.5.1
建立 .gitignore (說明不上傳的檔案)
.gitignore 內文:
   1| venv
   2| *.pyc

1.5.2 .
git 相關指令 :>git init; :>git add . ; :>git commit -m "initialization"
1.5.3.
1.6. 部署 app 到 heroku
*1.6.1
執行 :>heroku create; :>heroku push heroku master
------ 以上完成部署 ------

*1.6.1 push階段時遇到錯誤:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
主要原因是由於這次在 windows 上發布,  ssh key 忘了更新. ssh folder 在 c:\\Users\[user_name]\.ssh
在 ssh folder 下放置生成的 id_rsa, 然後透過 :>heroku keys:add  [PUBLIC_KEY_PATH]\id_rsa.pub 將 public key 上傳即可.


嗯,預估使用 linode 時還要再糾結一下了... Orz

Comments

Popular posts from this blog

股票評價(Stock Valuation) - 股利折現模型

R 語言:邏輯回歸 Logistic Regression using R language (二)

openwrt feed的使用