在项目处于管道步骤中
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
之后和`推送工件文件之前删除文件的最简单方法是什么?
考虑:
使用 PublishPipelineArtifact@1 代替 PublishBuildArtifacts@1 以获得更好的性能(Microsoft 推荐)
使用 .artifactignore 文件来控制将发布哪些文件。