parameters: - name: CleanArtifactsFolder type: boolean default: true - name: CleanBinariesFolder type: boolean default: true - name: CleanSourcesFolder type: boolean default: false - name: CleanPublishFolder type: boolean default: false - name: PublishFolder type: string default: publish steps: - task: PowerShell@2 displayName: Clean-up Agent Folders condition: always() env: BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory) BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory) BUILD_SOURCESDIRECTORY: $(Build.SourcesDirectory) BUILD_PUBLISHDIRECTORY: "$(Agent.BuildDirectory)/${{parameters.PublishFolder}}" inputs: targetType: inline script: | [bool]$CleanArtifactsFolder = ${{parameters.CleanArtifactsFolder}} [bool]$CleanBinariesFolder = ${{parameters.CleanBinariesFolder}} [bool]$CleanSourcesFolder = ${{parameters.CleanSourcesFolder}} [bool]$CleanPublishFolder = ${{parameters.CleanPublishFolder}} if ($CleanArtifactsFolder -and (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY)) { Write-Host -ForegroundColor Cyan "Cleaning folder $env:BUILD_ARTIFACTSTAGINGDIRECTORY" Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue } if ($CleanBinariesFolder -and (Test-Path $env:BUILD_BINARIESDIRECTORY)) { Write-Host -ForegroundColor Cyan "Cleaning folder $env:BUILD_BINARIESDIRECTORY" Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue } if ($CleanSourcesFolder -and (Test-Path $env:BUILD_SOURCESDIRECTORY)) { Write-Host -ForegroundColor Cyan "Cleaning folder $env:BUILD_SOURCESDIRECTORY" Remove-Item -Path "$env:BUILD_SOURCESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue } if ($CleanPublishFolder -and (Test-Path $env:BUILD_PUBLISHDIRECTORY)) { Write-Host -ForegroundColor Cyan "Cleaning folder $env:BUILD_PUBLISHDIRECTORY" Remove-Item -Path "$env:BUILD_PUBLISHDIRECTORY" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue } pwsh: true