【问题标题】:Azure Function code deleted after a new ARM deployment from Azure DevOps从 Azure DevOps 部署新的 ARM 后删除 Azure 函数代码
【发布时间】:2020-01-14 19:02:23
【问题描述】:

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

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

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

【问题讨论】:

    标签: azure azure-devops azure-functions arm-template


    【解决方案1】:

    原来问题是缺少设置。

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

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

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

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

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

    请注意,这与此问题非常相似。我想指出,用于 ​​Functions 的 Azure DevOps 任务现在使用从包中运行:Azure Functions ARM Template deploy deletes Functions

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多