【问题标题】:Azure Devops Release pipeline(s) for multiple Azure Functions用于多个 Azure Functions 的 Azure Devops 发布管道
【发布时间】:2021-09-07 23:40:58
【问题描述】:

我有一个包含 3 个项目的解决方案:2 个 Azure Functions 和一个共享库。 我在 Azure 中创建了 2 个 Function Apps。

每当解决方案发生变化时,都会触发我的构建管道。

现在,尝试设置我的发布管道

我可以看到我可以选择目标应用服务,但我似乎无法找到一种方法来判断要在那里部署哪个功能。 似乎默认情况下,它会同时部署它们,而第一个部署的只是被第二个覆盖。 所以我不介意做 2 个发布管道,但是我如何指定:“从解决方案中部署这个项目”。

编辑1: 我没有将yaml文件直接放在解决方案中,我只是在构建中添加了步骤:

但在发布管道中,我没有看到 zip 文件

【问题讨论】:

    标签: .net-core azure-devops azure-functions


    【解决方案1】:

    Azure Function 内置于 zip 中,可在函数构建期间将其保存到工件中。每个功能项目中都应该有一个 azure-pipelines.yaml。您可以在此处指定artifact details,通常在恢复和构建步骤以及压缩构建输出之后:

        // restore step ...
        // build step ...
        
    // now .net publishing step with zipping. You can also set this to false and use ArchiveFiles@2 step instead
        - task: DotNetCoreCLI@2
          displayName: 'MyFunction: Publish'
          inputs:
            command: publish
            arguments: '--configuration Release --output publish_output'
            projects: '$(System.DefaultWorkingDirectory)/MyFunction/MyFunction.sln'
            publishWebProjects: false
            zipAfterPublish: True
    
    // Now publish your zip as artifact
        - task: PublishBuildArtifacts@1
          displayName: 'MyFunction: Publish Artifact MyFunction.zip'
          inputs:
            PathtoPublish: '$(System.DefaultWorkingDirectory)/.......'
            ArtifactName: 'MyFuction-Deploy'
    

    或在编辑器中:

    在您的发布管道中,单击“包或文件夹”选项附近的 3 个点。您应该会在构建子文件夹中看到链接工件的文件夹,而不是在其中包含函数应用 zip 的工件。

    您可以在统一的构建管道中为不同的功能应用生成多个工件,然后选择合适的工件来部署在不同的发布管道中。

    【讨论】:

    • 您好,您提供的链接已被 Microsoft 标记为已过时。我会调查一下,如果我设法让它工作,请告诉你,谢谢。
    • 你可以用这个替换它docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/…这是替换。
    • @MaximZabolotskikh 显然出了点问题,我看不到 zip 文件..
    • 您在发布步骤的构建管道输出中看到了什么?工件上传了吗?异步命令开始:上传工件上传1个文件文件上传成功。
    • @MaximZabolotskikh,在发布管道中的输出是:已上传 730,853 字节中的 729,844 内容上传完成!我实际上没有看到任何 zip 创建
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2019-04-29
    • 2022-12-05
    相关资源
    最近更新 更多