【问题标题】:Azure Pipelines: task PublishBuildArtifacts avoid zip [Asp.Net] [closed]Azure Pipelines:任务 PublishBuildArtifacts 避免 zip [Asp.Net] [关闭]
【发布时间】:2021-11-11 12:35:44
【问题描述】:

.Net Core - 发布工件任务

下面的代码在放置文件夹中生成已发布的工件,但作为 zip 文件。此任务仅适用于 .Net 核心项目。

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: 'src/myproj/*.csproj'
    arguments: -o $(build.artifactStagingDirectory)

如果我们将zipAfterPublish: false 属性添加到输入,我们可以避免压缩工件,如here 所述


Asp.Net - 发布工件任务

下面的代码是上面的Asp.Net版本

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
    ArtifactName: '$(Parameters.ArtifactName)'
  condition: succeededOrFailed()

虽然我们可以避免在 .Net Core 中压缩工件,但在 Asp.Net 版本中没有为此添加任何属性。

那么,如何避免在 Asp.Net 版本的 Publish Artifact 任务中压缩工件?

【问题讨论】:

    标签: asp.net azure-devops azure-pipelines


    【解决方案1】:

    如果你检查 PublishBuildArtifacts 任务的 YAML Snippet 这个Microsoft document 然后,你会发现它没有像 DotNetCoreCLIzipAfterPublish 这样的输入属性> 发布工件时避免 zip 文件的任务。

    因此,不可能直接实现您想要实现的目标。但是有一种解决方法,我们可以应用它来实现您想要的结果。那就是使用 ExtractFile 任务。

    在这里,我提供了您应该用来获得所需结果的详细方法。

    - task: PublishBuildArtifacts@1
      displayName: 'PublishArtifact'
      inputs:
        pathToPublish: '$(Build.ArtifactStagingDirectory)'
        artifactName: '$(Parameters.ArtifactName)'   
        
    # archive the build artifact for later processing
    - task: ArchiveFiles@2
      inputs:
        rootFolderOrFile: '$(Build.ArtifactStagingDirectory)'
        includeRootFolder: false  
    
    # Extract files
    # just extract it as an extra step as I mentioned above
    - task: ExtractFiles@1
      inputs:
        archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$***.zip' 
        destinationFolder: '$(Build.ArtifactStagingDirectory)/***'
        cleanDestinationFolder: false
    
    # and lastly deploy it.
    

    有关详细信息,请查看 Microsoft 的此 Extract Files task 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-01
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多