繁体   English   中英

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

[英]Azure Function code deleted after a new ARM deployment from Azure DevOps

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

我还在不同的 Azure DevOps 管道中通过来自不同 Github 存储库的 Azure DevOps 部署我的函数代码。

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

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

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

当 ARM 模板运行时,它会替换应用服务的应用设置(也适用于函数)。

我没有意识到用于部署函数代码的 Azure Dev Ops 任务实际上是使用这种新的 run from package 部署方法,所以我应该在我的 ARM 模板的应用程序设置部分进行设置。

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

为了解决这个问题,我只是在我的 ARM 模板中添加了 { "name": "WEBSITE_RUN_FROM_PACKAGE", "value": "1" } !

请注意,这与此问题非常相似。 我想指出 Functions 的 Azure DevOps 任务现在使用从包运行: Azure Functions ARM 模板部署删除函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM