繁体   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