ServerManagers/.azure/pipelines/clean-agent-folders.yml
2022-12-29 16:54:13 +10:00

50 lines
2.1 KiB
YAML

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: |
if ('${{parameters.CleanArtifactsFolder}}' -eq [bool]::TrueString -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 ('${{parameters.CleanBinariesFolder}}' -eq [bool]::TrueString -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 ('${{parameters.CleanSourcesFolder}}' -eq [bool]::TrueString -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 ('${{parameters.CleanPublishFolder}}' -eq [bool]::TrueString -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