首页 > 解决方案 > 使用 azure cli 将 python 应用程序部署到现有的 azure 应用程序服务

问题描述

我想使用 azure cli从管道将python应用程序部署到现有的应用程序服务,但我发现只有一种方法可以将 python 应用程序部署到 azure 应用程序服务(文档azurebitbucket

az webapp up --name <app_name>

这似乎不适用于已创建的 azure app 服务。我还发现它不能用于部署到此评论中的现有应用程序

因为我想从 bitbucket 运行它local git不是我的选择。我也不希望通过部署中心直接与 bitbucket 集成,因为我想从 bitbucket 按需触发部署。

例如,您可以.net通过运行以下命令轻松地使用 zip 部署部署应用程序:

az webapp deployment source config-zip --resource-group <resource_group> --name <app_name> --src <zip_name>

你能做类似的事情python吗?

标签: pythonazureazure-web-app-service

解决方案


下面的脚本创建一个新的 Web 应用程序并从您发送的文档中部署 python 烧瓶示例。它随心所欲az webapp deployment source config-zip地使用。值得探索的配置部分是此处SCM_DO_BUILD_DURING_DEPLOYMENT=true描述的设置。当设置为 true 时,部署期间会运行其他步骤,例如安装 python 包。

    az group create -n <some_name> --location westus
    az appservice plan create --name <some_name> -g <some_name> --sku s1 --location westus --is-linux
    az webapp create -g <some_name> -n <some_globaly_unique_name> --plan <some_name> --runtime "PYTHON|3.7"
    az webapp config appsettings set -g <some_name> -n <some_globaly_unique_name> --settings WEBSITE_RUN_FROM_PACKAGE="1"
    az webapp config appsettings set -g <some_name> -n <some_globaly_unique_name> --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
    az webapp restart -n <some_globaly_unique_name> -g <some_name>

    git clone https://github.com/Azure-Samples/python-docs-hello-world
    cd .\python-docs-hello-world\
    Compress-Archive -Path * -DestinationPath package.zip
    az webapp deployment source config-zip -n <some_globaly_unique_name> -g <some_name> --src .\package.zip

请注意,我使用了Compress-Archive,如果您不使用 Powershell,那么您需要以不同的方式创建一个 zip 包。


推荐阅读