python - 将 Django 应用程序部署到生产环境 - Azure

标签 python django azure azure-web-app-service azure-appservice

我在 Github 存储库中有一个 Django 应用程序。通过 Github 操作,它被部署为 Azure 中的 Python 应用程序。

在 Azure 门户中:

1- 在“配置 > 应用程序”设置中,我将 POST_BUILD_COMMAND 定义为

python manage.py makemigrations && python manage.py migrate

Configure a Linux Python app for Azure App Service 中所述.

2-我已经配置了部署槽和生产槽。它提供了一个“交换”选项,用于将部署槽中的实时应用程序推送到生产环境。

但是,我的印象是,这样做不会为生产 Django 应用程序运行 POST_BUILD_COMMAND 命令,从而使数据库保持不变 - 这意味着生产前端获取新字段/更新,但迁移不会t发生。

在生产环境中执行迁移的最佳方法是什么? 正确的方法是将“配置>常规设置>启动命令”设置为“python manage.py makemigrations && python manage.py migrate”吗?这行得通吗?

最佳答案

执行迁移的最佳方法是使用 YAML 配置。

  • 当我们在生产中需要安装库时,迁移时要小心,因为我们需要忽略 venv 文件夹。

  • 使用实时数据创建开发环境,并确保在azure门户上添加数据库的环境变量

  • 一旦我们为数据库创建了环境变量,我们就可以将实时数据发送到dev环境中。

  • 创建生产环境存储库,而不是再次从 GitHub 创建连接,而是从开发存储库转移。

  • 将父存储库设为 prod 存储库的 dev 存储库。使用您在文档中使用的相同方法。

  • 根据环境变量配置管道。

  • 创建自动化程序以定期更新生产环境。

    python 管理.py makemigrations && python 管理.py 迁移

使用上面的代码块对dev执行操作。使用 Azure 门户终端创建 YAML 文件并更改参数。

  • 这也可以通过 VS Code 执行。 (最好的方法)

Document ,是该过程的完美流程引用。

GitHub -> Azure Dev 存储库 -> 备份 -> 创建 Prod 存储库 -> 从 Dev 迁移到 Prod -> 排除 gitignore文件夹

关于python - 将 Django 应用程序部署到生产环境 - Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72714385/

相关文章:

azure - 如何在 CosmosDB Javascript 存储过程中执行批量字段重命名

Azure 数据工厂与 Azure 逻辑应用

python - 如何在循环外打印项目?

python - django 如何处理二进制 post 数据?

python - Django CSRF Coo​​kie 未设置

python - 如何导入另一个表的行数?

.net - 防止未处理的异常破坏 Azure 辅助角色

python - 在 Docker Alpine 上安装 numpy

python - PyTorch 中相同形状的掩蔽张量

c++ - gstreamer 的音乐可视化错误