从 Azure devops 管道部署时无法访问 Azure Function Runtime

Azure Function Runtime Unreachable when deploying from Azure devops pipeline

感谢您抽出宝贵时间阅读。我目前的设置如下:

我有一个 azure 函数服务和 运行,visual studio 中的一个 az 函数项目(我已经测试过,它运行没有问题),一个部署在 azure devops 中的构建管道docker 带有我的函数项目的图像到 Azure 容器注册表。

我的问题:

当我尝试从我的 devops 管道为 CI/CD 设置我的函数服务时,我在我的应用程序的“函数”选项卡上收到以下错误:“无法访问 Azure Functions 运行时”。还列出了我的代码中的 none 个函数。然而,在部署中心,我收到一条消息“已成功部署到生产环境”,它显示了我构建的 docker 容器映像名称。

疑难解答:

在我的函数应用程序的部署中心(在 az 门户中),我将我的应用程序设置为直接从 azure 容器注册表读取(使用与我的管道之前构建的完全相同的 docker 映像),并且效果很好 - 部署成功,我可以看到我的个人功能名称。然而,当我切换回 CI/CD 部署时,我遇到了与之前相同的问题。

正在尝试查看是否有人遇到过同样的问题,或者可以提出使 CI/CD 集成正常工作的前进方向。

我在下面粘贴了我的 yaml 文件,为了保护隐私更改了一些名称。

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  project: 'myProjectName'
  environment: 'prod'
  dockerfile: '**/Dockerfile'
  azureResource: 'myScraperFunction'
  imageName: myScraperFunction

steps:
- task: Docker@2
  displayName: Build
  inputs:
    command: build
    containerRegistry: $(azureContainerRegistryName)
    repository: '$(Build.Repository.Name)-$(project)'
    tags: '$(Build.BuildNumber)-$(environment)'
    Dockerfile: $(dockerfile)
    buildContext: '$(Build.SourcesDirectory)'
    arguments: --build-arg PAT=$(System.AccessToken)

- task: Docker@2
  displayName: Push
  inputs:
    command: push
    containerRegistry: $(azureContainerRegistryName)
    repository: '$(Build.Repository.Name)-$(project)'
    tags: '$(Build.BuildNumber)-$(environment)'
    Dockerfile: $(dockerfile)       

- task: AzureFunctionAppContainer@1
  displayName: 'Azure Function App on Container Deploy: $(azureResource)'
  inputs:
    azureSubscription: '$(azureSubscription)'
    appName: $(azureResource)
    imageName: '$(azureContainerRegistry)/$(imageName):$(Build.BuildNumber)-$(environment)'

Configuration/typing yml 文件中的问题。构建步骤中的存储库名称是 hard-coded(我没有像上面发布的那样使用变量)并且由于拼写错误而与部署步骤中的存储库名称不匹配。