发布后Azure函数应用程序在控制台UI中缺少函数

iswrvxsc  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(132)

我正在对CI/CD Gitlab进行自动化编程,以编程方式部署Azure Functions项目。
但是,当我将一个新函数发布到之前使用az cli创建的函数应用程序时,遇到了一个问题,如下例所示:

$ func azure functionapp publish $AZURE_APP_NAME ${SLOT_PARAMETER} ${FUNCTION_LANGUAGE} --nozip

$ az webapp config appsettings set -g $AZURE_RG_NAME -n $AZURE_APP_NAME ${SLOT_PARAMETER} --settings "WEBSITE_RUN_FROM_PACKAGE=0"

命令行显示已成功构建、创建和部署新函数。但当我检查是否使用Azure控制台UI在我的应用中创建了新函数时,未显示任何内容。
我甚至尝试使用默认的publish命令将函数部署为zip包,或者像上面的示例一样使用--nozip并设置WEBSITE_RUN_FROM_PACKAGE=0来部署文件。
奇怪的是,我可以看到另一个应用程序函数使用相同脚本部署的函数。这样一来,控制台UI函数应用程序的行为似乎不稳定。

bxfogqkk

bxfogqkk1#

当您为Azure功能应用进行连续部署时,您必须在Azure门户功能应用〉配置菜单中启用其中一个配置设置,即SCM_DO_BUILD_DURING_DEPLOYMENT=true

az functionapp config appsettings set --name PravuFunctionApp \
--resource-group PraviRG \
--settings SCM_DO_BUILD_DURING_DEPLOYMENT=true

配置此设置后,然后使用az cli命令或函数核心工具命令func azure functionapp publish进行部署,它将显示Azure门户函数应用中的函数。
有关类似问题(即部署/发布后未显示功能),请参阅此SO Thread

yyyllmsg

yyyllmsg2#

正如@pravallika-kothaveerannagari所提到的,我需要在部署我的函数期间启用SCM_DO_BUILD_DURING_DEPLOYMENT=true,以便在App Service上构建它。
此外,我已经将函数的部署更改为az functionapp deployment source config-zip,并且不再使用Azure Function核心工具。

echo '[config] SCM_DO_BUILD_DURING_DEPLOYMENT = true' > .deployment
zip -r build.zip MyFunction
az functionapp deployment source config-zip -g $AZURE_RG_NAME -n $AZURE_APP_NAME ${SLOT_PARAMETER} --src build.zip

相关问题