簡體   English   中英

環境變量和 Docker dev、staging 和 prod 之間的差異

[英]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 之間的差異:

  • 我是否將 Firefox 保留在我的暫存映像中,運行測試,然后將 Dockerfile 的副本發送到生產環境,但現在沒有 firefox?

任何幫助表示贊賞。

Config Var的想法是設置因環境而異的配置變量。 話雖如此,您可以控制環境並且可以定義您需要什么。

我個人會使用不同的方法:創建一個獨立於環境的測試(例如,我會確認找到給定的DIV ID或其他元素,而不是測試expected root )。
這足以確認測試成功並且功能按預期工作。

生產 Dockerfile 確實不需要 Selenium 並且可以與分期不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM