首页 > 解决方案 > 多功能应用程序未部署

问题描述

我的解决方案中有三个功能应用程序,如下所示:

图片

我创建了构建和发布步骤以将这 3 个功能应用程序部署到同一个应用程序服务计划。在运行构建时,它使用 zip 中的这些函数应用解决方案创建了工件:

图片

我看到正在部署这些功能应用程序:

图片

单击函数应用程序时,我在其中一个函数应用程序中看到一个函数,但在其他两个函数应用程序中没有。

图片

我错过了什么?如果您需要更多详细信息,请告诉我。谢谢!

更新:

构建步骤:

# Function xxx
    - task: DotNetCoreCLI@2
      displayName: 'dotnet publish xxx Function'
      inputs:
        command: publish
        arguments: '--configuration Release --output publish_output'
        projects: 'Service/WebApi/Service/Hosts.xxxFunction/*.csproj'
        publishWebProjects: false
        modifyOutputPath: false
        zipAfterPublish: false

    - task: ArchiveFiles@2
      displayName: 'archive xxx Function files'
      inputs:
        rootFolderOrFile: "$(System.DefaultWorkingDirectory)/publish_output"
        includeRootFolder: false
        archiveFile: "$(System.DefaultWorkingDirectory)/Hosts.xxxFunction.zip"

    - task: PublishBuildArtifacts@1
      displayName: 'publish xxx Function files'
      inputs:
        PathtoPublish: '$(System.DefaultWorkingDirectory)/Hosts.xxxFunction.zip'
        ArtifactName: '$(Build.BuildNumber)'
# End xxx Function

发布步骤:

- task: AzureFunctionApp@1
  displayName: 'Deploy ${{ parameters.name }} function app'  
  inputs:
    appType: 'functionapp'
    azureSubscription: ${{parameters.serviceConnection}}
    appName: '${{ parameters.solutionAbbreviation }}-compute-fa-${{ parameters.environmentAbbreviation }}-${{ parameters.name }}'
    Package: '$(Pipeline.Workspace)/$(Build.BuildNumber)/Hosts.${{ parameters.name }}.zip'
    deploymentMethod: 'auto'
    resourceGroupName: '${{ parameters.solutionAbbreviation }}-${{ parameters.environmentAbbreviation }}'

标签: azure-functions

解决方案


部署 azure 函数有两个步骤:

1、在azure上创建azure函数应用。

完成此步骤后,您可以在 azure 上看到函数应用,但这并不意味着您已经部署了函数。只是表示对应的函数应用容器已经准备好了。

2、将函数应用的内容上传到函数应用容器。

您可以使用一些部署方法,例如 zip deploy 来部署您的函数应用:

az functionapp deployment source config-zip -g yourresourcegroupname -n yourfunctionappnameonazure --src <zip_file_path>

这是文档:

https://docs.microsoft.com/en-us/azure/azure-functions/deployment-zip-push#cli

需要注意的另一件事是,有时 azure 门户不显示该功能并不意味着该功能未部署。你可以去https://yourfunctionappnameonazure.scm.azurewebsites.net/,然后去D:\home\site\wwwroot>。(这是azure函数应用的物理目录,如果这个地方没有函数文件,那就意味着你部署失败。有时azure门户不显示任何东西,但函数已经部署.)


推荐阅读