是否可以通过 Azure DevOps 通过 Linux 环境持续部署 Azure Functions CI/CD?

Is it possible to do continuous deployment CI/CD of an Azure Function through a Linux Environment via Azure DevOps?

通过 Linux 环境在 Azure 中创建函数时,似乎 CI/CD 的功能完全缺失,因为我看不到任何实际文件。我的 VS 代码告诉我这个

Error: This plan does not support viewing files.

当我尝试通过 Azure 管道将我的文件部署到服务器时,除了 Azure App Service Deploy

这告诉我这一点。

2020-04-21T19:48:37.6676043Z ##[error]Failed to deploy web package to App Service.
2020-04-21T19:48:37.6689536Z ##[error]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)

我确实在 windows 环境下通过 VS Code 直接让它工作,但没有注意到任何这些问题。

你能否通过 Linux 确认这是不可能的,或者我正在寻找的可能有解决方案。

  • 是否可以通过 Azure DevOps 通过 Linux 环境持续部署 Azure Functions CI/CD?

答案是肯定的。

要部署 Azure 函数,您应该使用 Azure Function App 任务而不是 Azure App Service Deploy 任务。对于下面的例子。

steps:
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: '<Azure service connection>'
    appType: functionAppLinux
    appName: '<Name of function app>'
    #Uncomment the next lines to deploy to a deployment slot
    #Note that deployment slots is not supported for Linux Dynamic SKU
    #deployToSlotOrASE: true
    #resourceGroupName: '<Resource Group Name>'
    #slotName: '<Slot name>'

请查看此文档Continuous delivery by using Azure DevOps以获取详细示例。