azure - 使用 GoLang 部署 azure 函数

标签 azure go deployment azure-functions azure-pipelines

目前我正在构建 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 时,我的所有函数都会显示。

发布任务: Screenshot of the release task

我做错了什么?

最佳答案

问题在于 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/

相关文章:

python - Azure网站使用python3和django

azure - 如何在 LogicApp 中解析消息后删除 JSON 中的部分

.net - Web部署任务失败。(该服务器环境不支持创建新应用程序)

c# - 如何插入带有 1 :n relationship in Azure App Service 的实体

c# - Cosmos DB 调用永远不会通过异步调用返回

http - 无法使用 htprouter 读取 Golang 中的帖子表单值

http - ioutil.ReadAll(response.Body) 永远阻塞 - Golang

go - 如何将 map 中的值与一组已知值进行比较

java - 如何发布java应用程序?

deployment - Ubuntu下使用Deployment Toolkit检测openjdk?