通过 GitHub Actions 部署 Azure Web App 会触发不需要的 Oryx/OneDeploy 构建

问题描述 投票:0回答:1

我在使用 GitHub Actions 配置将 Python (FastAPI) 应用程序自动部署到 Azure Web App 时遇到问题。部署成功,但 Azure 自动触发 Oryx 构建和 OneDeploy 进程,这是我想避免的。

在此输入图片描述

是否有人遇到过类似问题或找到绕过 Oryx 和 OneDeploy 流程的解决方案?任何指导将不胜感激!

我尝试了多种配置来禁用 Azure 上的自动构建,但到目前为止没有任何效果。这是我尝试过的:

在 Azure Web App 配置中设置环境变量 ENABLE_ORYX_BUILD=false 和 WEBSITE_RUN_FROM_PACKAGE=1 以禁用自动构建。然而,OneDeploy 和 Oryx 仍在被触发。 删除了 Azure 配置中的任何启动命令,并设置 GitHub Actions 工作流程来创建预构建应用程序的 ZIP 包,期望 Azure 直接部署它而无需重建。 调整了 GitHub Actions 工作流程以使用发布配置文件而不是客户端 ID 和租户 ID 进行身份验证,旨在实现更简单、直接的部署,但问题仍然存在。

azure deployment azure-webapps
1个回答
0
投票

我尝试通过避免 oryx/onedeploy 构建来部署 Fastapi 应用程序,但未能做到这一点。

我尝试设置

DO_NOT_USE_ORYX=true
并使用不同的配置修改了我的工作流程文件以避免 Oryx 构建,但它仍然无法绕过构建过程,因为默认情况下在适用于 Linux 的 Azure 应用服务上启用了 Oryx。

enter image description here

不幸的是,当使用 ZipDeploy 或 GitHub Action 等部署方法时,默认情况下会启用 Oryx。

  • 使用

    SCM_DO_BUILD_DURING_DEPLOYMENT=false
    等设置禁用或控制 Oryx 对于使用 Oryx 的部署来说并不简单。

  • 即使在部署应用程序时设置

    SCM_DO_BUILD_DURING_DEPLOYMENT=false
    后,Oryx 仍处于启用状态并构建应用程序,如下面的日志所示。 enter image description here

  • 请参阅此博客以更好地了解Azure App Service(linux)上的python部署。

  • 请参阅此doc了解 oryx 配置。

  • 如果您使用 Visual Studio 代码,它将使用

    Remote build
    添加
    ENABLE_ORYX_BUILD=true
    SCM_DO_BUILD_DURING_DEPLOYMENT=1
    并启用 Oryx 来构建资源。

  • 如果你确实想绕过 Oryx,你可以考虑使用外部构建器,因为它们默认不启用 Oryx。

  • 您可以通过 Azure CLI 使用 Azure Pipelines 或 Zip Deploy 来部署应用程序,以绕过 Oryx 构建。

  • 请参阅此doc了解如何使用Azure管道将Python应用程序部署到Azure Web应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.