我正在对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函数应用程序的行为似乎不稳定。
2条答案
按热度按时间bxfogqkk1#
当您为Azure功能应用进行连续部署时,您必须在Azure门户功能应用〉配置菜单中启用其中一个配置设置,即
SCM_DO_BUILD_DURING_DEPLOYMENT=true
。配置此设置后,然后使用
az cli
命令或函数核心工具命令func azure functionapp publish
进行部署,它将显示Azure门户函数应用中的函数。有关类似问题(即部署/发布后未显示功能),请参阅此SO Thread。
yyyllmsg2#
正如@pravallika-kothaveerannagari所提到的,我需要在部署我的函数期间启用
SCM_DO_BUILD_DURING_DEPLOYMENT=true
,以便在App Service上构建它。此外,我已经将函数的部署更改为
az functionapp deployment source config-zip
,并且不再使用Azure Function核心工具。