ServerManagers/.azure/pipelines/azure-pipelines-clean-agent.yml
2022-12-23 01:13:24 +10:00

59 lines
2.2 KiB
YAML

parameters:
- name: CleanArtifactsFolder
type: bool
default: true
- name: CleanBinariesFolder
type: bool
default: true
- name: CleanSourcesFolder
type: bool
default: false
- name: CleanPublishFolder
type: bool
default: false
- name: PublishFolder
type: string
default: publish
stages:
- stage: cleanupAgent
displayName: Clean-up Agent Folders
lockBehavior: runLatest
jobs:
- job: cleanupAgent
displayName: Clean-up Agent Folders
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}} -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}} -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}} -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}} -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