从Azure DevOps进行新的ARM部署后删除了Azure功能代码

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

我正在运行自定义ARM模板,以通过Azure DevOps管道为Azure功能创建基础结构(动态应用程序服务计划,存储帐户等)。

我还在另一个Azure DevOps管道中通过另一个Github存储库中的Azure DevOps部署我的功能代码。

成功部署基础结构和代码后,如果基础结构的管道再次运行,即使我对基础结构所做的更改不会影响该功能并且我以增量模式运行,它也会删除代码。

azure azure-devops azure-functions arm-template
1个回答
0
投票

事实证明,此问题是缺少的设置。

https://docs.microsoft.com/en-ca/azure/azure-functions/run-functions-from-deployment-package

[运行ARM模板时,它将替换应用程序服务的应用程序设置(也适用于功能)。

我没有意识到用于部署功能代码的Azure Dev Ops任务实际上是使用程序包部署方法的这种新运行方式,因此我应该在我的ARM模板的应用程序设置部分中进行设置。

当我在部署代码后第二次运行ARM模板时,它正在删除WEBSITE_RUN_FROM_PACKAGE设置,以使函数不知道代码在哪里。

为了解决这个问题,我仅向我的ARM模板添加了{“ name”:“ WEBSITE_RUN_FROM_PACKAGE”,“ value”:“ 1”}!

请注意,这与这个问题非常相似。我想指出,函数的Azure DevOps任务现在使用“从程序包运行”:Azure Functions ARM Template deploy deletes Functions

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