[英]Env vars and Docker differences between dev, staging, and prod
雖然我的具體示例涉及 Django、Docker 和 Heroku,但我相信這些都是非常一般的測試/QA 問題。
我有一個 dockerized Django 應用程序在開發人員中使用 Selenium 進行測試,確認我的 static 文件從我的本地文件夾( EXPECTED_ROOT = '/staticfiles/'
正確提供此應用程序部署到 Heroku 並且我可以看到(視覺和在開發工具中)static 文件也正確地從 CloudFront 拉入。 我想用我在開發中使用的相同測試來正式化它。 我的第一個問題與環境變量是否/如何用於測試有關:
EXPECTED_ROOT = 'https://<somehash>.cloudfront.net/'
作為環境變量添加到 Heroku 並在 Selenium 測試中使用它?此外,要在 staging 中運行此測試,我需要在我的 Docker 映像中安裝 Firefox,就像我在 dev 中所做的那樣。 也許這在舞台上是可以的,但在產品中,我相信我應該瞄准盡可能小的圖像。 所以問題是關於 staging 和 prod 之間的差異:
任何幫助表示贊賞。
Config Var
的想法是設置因環境而異的配置變量。 話雖如此,您可以控制環境並且可以定義您需要什么。
我個人會使用不同的方法:創建一個獨立於環境的測試(例如,我會確認找到給定的DIV ID
或其他元素,而不是測試expected root
)。
這足以確認測試成功並且功能按預期工作。
生產 Dockerfile 確實不需要 Selenium 並且可以與分期不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.