删除文件作为 Azure DevOps 管道中的一个步骤

问题描述 投票:0回答:1

在项目处于管道步骤中

dotnet published
之后,我尝试删除属于项目(构建操作:内容)的多个设置文件。据我所知,下面的 YAML 使文件保留在输出文件夹中,因为它们是 ZIP 的一部分:

...
# Publish projects
- task: DotNetCoreCLI@2
  displayName: 'Publish projects'
  inputs:
    command: 'publish'
    projects: '$(mainProject)'
    publishWebProjects: false
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: true
    verbosityRestore: Detailed
    verbosityPack: Detailed
    workingDirectory: '$(workingDirectory)'

# Delete settings files
- task: DeleteFiles@1
  displayName: 'Delete settings files'
  inputs:
    SourceFolder: '$(Build.ArtifactStagingDirectory)'
    Contents: |
     **/appsettings*.json
     **/appconfig*.json
     log4net*.config
    RemoveSourceFolder: true

# Save artefact
- task: PublishBuildArtifacts@1
  displayName: 'Save artefact'
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)'
    artifactName: 'drop'

我知道这三个文件被复制到输出文件夹,因为它们被标记为

Content
。我也需要能够在本地构建和调试。

我也知道我在

zipAfterPublish: true
步骤中设置
dotnet publish
,因为我希望制品是
drop.zip

我使用 Ubuntu 容器,所以我没有 ZIP 来使用任务

ArchiveFiles@2

publish
之后和`推送工件文件之前删除文件的最简单方法是什么?

asp.net-core azure-pipelines azure-pipelines-yaml
1个回答
0
投票

考虑:

  1. 使用 PublishPipelineArtifact@1 代替 PublishBuildArtifacts@1 以获得更好的性能(Microsoft 推荐)

  2. 使用 .artifactignore 文件来控制将发布哪些文件。

© www.soinside.com 2019 - 2024. All rights reserved.