目前我正在构建 GoLang 无服务器 Azure Function。 我使用这个构建管道:
trigger:
- main
pool:
vmImage: 'vs2017-win2016'
steps:
- task: GoTool@0
inputs:
version: '1.16.2'
- task: Go@0
displayName: 'go get'
inputs:
arguments: '-d'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
displayName: 'go build'
inputs:
command: build
arguments: '-o go_ibors_backend main.go'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
构建管道已成功运行。此外,发布管道部署成功,但当我在 Azure 门户中查看我的函数时,没有结果。当我将函数本地推送到 Azure 时,我的所有函数都会显示。
我做错了什么?
最佳答案
问题在于 ArchiveFiles 指向错误的 rootFolderOrFile,并且 includeRootFolder 必须设置为 false,因为该作业将在根文件夹中查找 host.json 文件。
- task: ArchiveFiles@2
displayName: 'Create artifact'
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
关于azure - 使用 GoLang 部署 azure 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69234178/