簡體   English   中英

使用 Visual Studio Code 和 Docker 持續開發和部署 Django 應用程序

[英]Continuously develop and deploy a Django app with Visual Studio Code and Docker

我正在使用 Visual Studio Code 在本地開發一個 Django 應用程序。 在准備部署時,我將所有內容“dockerized”,現在我已經能夠在本地運行這個容器了。

在我嘗試在其他地方構建我的 Docker 圖像之前(我想到了 Google Cloud Run),我想確保我仍然可以調試我的代碼。

通過官方的“容器中的 Python”教程,當我的應用程序在 Docker 本地運行時,我可以設置斷點等。

所以我認為工作流程將如下所示:

  1. 我在本地開發我的應用程序並在 Visual Studio Code 中調試它。
  2. 為了進一步調試,我可以如上所述使用 Docker 在本地執行此操作。
  3. 當一切看起來不錯時,我將這個容器推送到 Google Cloud Run 或其他任何地方。

這聽起來像是一個合理的計划還是我錯過了一些重要的事情? 最后,我正在尋找一種簡單方便的方法來使用 Visual Studio Code 持續開發(和調試)Django 應用程序並使用 Docker 部署它。

我從未使用過 Google Cloud Run 或 smth,但根據遠程服務器的經驗,我可以建議采用以下方法。 您可以使用github 操作docker 集線器 用測試覆蓋您的應用程序或至少它的關鍵部分,以確保一切重要的工作正常。 您可以將 github 操作設置為每次推送到 github 存儲庫時運行測試的方式。 如果測試將通過,您的應用程序的圖像(通常它的名稱是 your_app:latest)將在 dockerhub 上更新,允許您從圖像構建。 擁有多個圖像是一種很好的做法。 例如,您可以有一個穩定版本,比如v.1.0和一個 beta 版本your_app:latest 因此,您將能夠在生產服務器上運行穩定版本,而測試版可以在開發服務器上運行。 不要更新穩定版本,發布新版本並保留現有版本。

github 操作文件的示例:

name: your_app_workflow

on: [push]

jobs:
  tests:

  # run your tests here

  push_to_docker_hub:
    name: Push Docker image to Docker Hub
    runs-on: ubuntu-latest
    needs: tests
    steps:
      - name: Check out the repo
        uses: actions/checkout@v2

      - name: Push to Docker Hub
        uses: docker/build-push-action@v1
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: your_repository_on_dockerhub
          tag_with_ref: true

也許你知道以下,但我還是會提到它。 Django 內置數據庫是 SQLite 是不可靠的,所以如果你要讓別人使用你的產品,你必須考慮另一個數據庫。 web行業目前的標准是PostgreSQL,還有Mongo、Redis等,但PostgreSQL用的最多。 此外,Django 不提供 static 和生產中的媒體文件,因此您必須使用代理服務器,例如 Nginx。Nginx 不能直接與您的 Django 應用程序一起使用,因此您需要一個中介,例如 Gunicorn。 同樣,我不知道 Google Cloud Run,但在典型的遠程服務器上,您會這樣做。

暫無
暫無

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

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