我的解决方案中有三个功能应用程序,如下所示:
我创建了构建和发布步骤,以将这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 }}'
答案 0 :(得分:0)
部署天蓝色函数有两个步骤:
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门户没有显示任何东西,但功能已经部署。)