3
我正在開發一個Django應用程序,我大約完成了50%。我在一個我想開始向人們展示的地方,因此我需要部署它。我已經決定將我的主機放在Heroku上。我想從一開始,因此我下面的問題列表正確做到這一點...在Heroku上部署Django應用程序的最佳實踐
這裏的事情的當前狀態:
- 我想使用新的管道中Heroku.That方式的功能,我可以 輕鬆地在我的應用程序的分期和生產版本之間移動。
- 我想用一個CI服務器(目前我看circleci.com)
- 我使用Python 3.5
- 我想在部署 過程儘可能地自動化,這樣的作爲運行的遷移和測試(如果需要)等
- 如果它很重要,但我的代碼是到位桶
託管不知道所以,我的問題是:
- CI服務器明顯運行測試。我是否應該對 進行我的測試,以及Heroku上的舞臺和製作測功機?
- 我應該直接從CI服務器部署到Heroku嗎?
- 我應該使用哪些工具來自動部署?我不能使用織物(僅限python2),invoke看起來沒有生產準備。如果我只編寫我自己的簡單部署腳本,這很好嗎?
- 然後還有一堆其他工具,比如我已經閱讀過的docker和tox,但是我不確定是否需要它們中的任何一個。
- 還有什麼我在將Heroku應用程序部署到Heroku時應該記住的嗎?
謝謝,這是非常有益的。至於第1點,我正在談論單元測試。我應該在Heroku分段服務器上運行單元測試嗎?在生產服務器上運行它怎麼樣?當我在本地進行開發和測試時,測試運行者會創建一個單獨的測試數據庫,在測試運行後將其銷燬,從而使我的當前數據庫保持完好。我假設在Heroku上運行測試時可以做類似的事情,或者情況並非如此? – Johan
從我的觀點來看,單元測試的重點是驗證函數內部的功能,並且環境應該被嘲弄。所以沒有理由在生產環境中運行它們,單元測試只能在CI服務器上運行,而不能在分段或生產服務器上運行。 – fodma1