Azure DevOps中用于Azure功能的管道:无可用功能

时间:2020-06-03 16:32:35

标签: azure azure-devops azure-functions

我已经在Azure DevOps中为我的Azure Functions项目创建了管道。第一个有趣的问题是,当准备好新的版本时,发行不会开始。我不明白为什么。

Artifact

我可以使用刚刚创建的版本手动触发发行版。

enter image description here

您怎么看,发行成功了。管道是这样的:

steps:
- task: AzureFunctionApp@1
  displayName: 'Deploy Azure Function App'
  inputs:
    azureSubscription: '$(Parameters.AzureSubscription)'
    appType: '$(Parameters.AppType)'
    appName: '$(Parameters.AppName)'

Pipeline

使用Kudu,我可以检查服务器上的wwwroot文件夹,并且正如我期望的那样,我找到了此功能的所有二进制文件。问题是,门户中没有可用的功能,我可以调用它们。

Kudu

如何在Azure门户中看到没有可用的功能。

Azure Portal

更新

我刚刚注意到,从发行版开始,文件系统上没有正确的结构。我认为我在管道的配置中做错了:我选择:

  • 项目路径:**/*.csproj
  • 参数:-o publish_output(用于在 publish_output 文件夹中创建内部版本)

dotnet build

然后我使用以下参数创建要在发行版中部署的zip:

  • 要归档的根文件夹或文件:$(System.DefaultWorkingDirectory)/publish_output

archive

PS:System.ArtifactsDirectoryBuild.ArtifactStagingDirectory有什么区别?

2 个答案:

答案 0 :(得分:0)

准备好新版本时,发行不会开始。

您可能没有启用Continuous deployment trigger。请参见下面的屏幕,为发布管道启用CD触发。

enter image description here

Azure门户中没有可用的功能

Azure函数需要特定的文件夹结构,以允许这些函数显示在Azure门户中。您可以检查/ wwwroot文件夹中的文件夹结构是否如下所示。有关更多信息,请参见文档here

| - bin
 | - MyFirstFunction
 | | - function.json
 | - MySecondFunction
 | | - function.json
 | - host.json

答案 1 :(得分:0)

我修复了它。在存档步骤中,我必须取消选中Prepend root folder name to archive paths(我没有读过此选项,因为它是默认选项,所以我没有注意)。

  • 要归档的根文件夹或文件:$(System.DefaultWorkingDirectory)/publish_output
  • 取消选中Prepend root folder name to archive paths
  • 要创建的存档文件:$(System.DefaultWorkingDirectory)/ build $(Build.BuildId).zip
steps:
- task: ArchiveFiles@2
  displayName: 'Archive (zip)'
  inputs:
    rootFolderOrFile: '$(System.DefaultWorkingDirectory)/publish_output'
    includeRootFolder: false
    archiveFile: '$(System.DefaultWorkingDirectory)/build$(Build.BuildId).zip'

在步骤发布工件:放下检查:

  • 发布路径:$(System.DefaultWorkingDirectory)/build$(Build.BuildId).zip
steps:
- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(System.DefaultWorkingDirectory)/build$(Build.BuildId).zip'

Archive zip

相关问题