[英]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.