From 6c4ee3b857d5876a952134edd2ad95c3c93dffce Mon Sep 17 00:00:00 2001 From: Brett Hewitson Date: Fri, 23 Dec 2022 01:07:55 +1000 Subject: [PATCH] Create azure-pipelines-clean-agent.yml --- .../pipelines/azure-pipelines-clean-agent.yml | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .azure/pipelines/azure-pipelines-clean-agent.yml diff --git a/.azure/pipelines/azure-pipelines-clean-agent.yml b/.azure/pipelines/azure-pipelines-clean-agent.yml new file mode 100644 index 00000000..ec851146 --- /dev/null +++ b/.azure/pipelines/azure-pipelines-clean-agent.yml @@ -0,0 +1,54 @@ +parameters: +- 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 + + variables: + + jobs: + - job: cleanupAgent + displayName: Clean-up Agent Folders + + steps: + - task: PowerShell@2 + displayName: Clean-up Agent Folders + env: + BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory) + BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory) + BUILD_SOURCESDIRECTORY: $(Build.SourcesDirectory) + BUILD_PUBLISHDIRECTORY: "$(Agent.BuildDirectory)/${{parameters.PublishFolder}}" + inputs: + targetType: inline + script: | + if (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 (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 +