azure - 使用 GoLang 部署 azure 函数
问题描述
目前我正在构建一个 GoLang 无服务器 Azure 函数。我使用这个构建管道:
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
推荐阅读
- java - 如何解决有关 getLoaderManager().initLoader 的问题?
- angular - 守卫总是返回真
- c# - 图表颜色重绘烛台颜色 C#
- javascript - Array Helper:遍历一个没有已知结束或开始的数组
- java - 无法向标准添加第二个 OR
- node.js - 如何在续集中使用“子查询”进行“输入”?
- javascript - 如何在不同的条件下调用相同的函数?
- python - Python - Flask 应用程序堆栈:TypeError:不可散列的类型:'list'
- javascript - 使用 Fetch 进行身份验证
- mysql - ON 语句中的 SQL (phpMyAdmin) 意外点