pipeline file cleanup

This commit is contained in:
Brett Hewitson 2022-12-23 13:53:23 +10:00
parent 80738e7416
commit 227de2eb39
2 changed files with 42 additions and 169 deletions

View file

@ -31,29 +31,6 @@ stages:
CleanPublishFolder: true
PublishFolder: ${{parameters.PublishFolder}}
- task: PowerShell@2
displayName: Pre Clean-up Agent Folders
enabled: false
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory)
BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory)
BUILD_PUBLISHDIRECTORY: "$(Agent.BuildDirectory)/${{parameters.PublishFolder}}"
inputs:
targetType: inline
script: |
if (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY) {
Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_BINARIESDIRECTORY) {
Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_PUBLISHDIRECTORY) {
Remove-Item -Path "$env:BUILD_PUBLISHDIRECTORY" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
pwsh: true
- task: PowerShell@2
displayName: Create AgentCapabilities Environment Variables
env:
@ -187,13 +164,12 @@ stages:
$appVersionShort = $appVersion.Substring(0, $appVersion.LastIndexOf('.'))
$appVersionWithUnderscores = $appVersion.Replace('.', '_')
$iconFile = "$env:BUILD_SOURCESDIRECTORY/src/${{parameters.ApplicationName}}/Art/favicon.ico"
Copy-Item -Path "$iconFile" -Destination "$env:BUILD_BINARIESDIRECTORY/favicon.ico" -Force
$installScriptFile = ".azure/scripts/${{parameters.ApplicationName}}.iss"
$installTextFile = '.azure/scripts/Installer.txt'
$sourceIconFile = "$env:BUILD_SOURCESDIRECTORY/src/${{parameters.ApplicationName}}/Art/favicon.ico"
$destIconFile = "$env:BUILD_BINARIESDIRECTORY/favicon.ico"
Copy-Item -Path "$sourceIconFile" -Destination "$destIconFile" -Force
$installTextFileContent = @"
#define AppVer "$appVersionShort"
#define AppVerFull "$appVersion"
@ -206,12 +182,8 @@ stages:
& "$env:AGENTCAPABILITIES_USER_INNOSETUP" "$installScriptFile"
$sourceFile = "$env:BUILD_BINARIESDIRECTORY/${{parameters.ApplicationName}}_$appVersionShort.exe"
$destFile = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/${{parameters.ApplicationName}}_$appVersionShort.exe"
Copy-Item -Path $sourceFile -Destination $destFile -Force
$destFile = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/latest.exe"
Copy-Item -Path $sourceFile -Destination $destFile -Force
$exeFile = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/${{parameters.ApplicationName}}_$appVersionShort.exe"
Copy-Item -Path $exeFile -Destination "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/latest.exe" -Force
pwsh: true
- task: PowerShell@2
@ -246,14 +218,13 @@ stages:
$applicationFolderName = "${{parameters.ApplicationName}}_$($appVersionWithUnderscores)"
$sourcePath = "$env:BUILD_BINARIESDIRECTORY/Application Files/$applicationFolderName"
$zipFile1 = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/latest.zip"
$zipFile2 = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/${{parameters.ApplicationName}}_$($appVersionShort).zip"
$zipFile = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/${{parameters.ApplicationName}}_$($appVersionShort).zip"
Add-Type -Assembly System.IO.Compression.FileSystem
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourcePath, $zipFile1, $compressionLevel, $false)
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourcePath, $zipFile, $compressionLevel, $false)
Copy-Item -Path "$zipFile1" -Destination "$zipFile2" -Force
Copy-Item -Path $zipFile -Destination "$env:BUILD_ARTIFACTSTAGINGDIRECTORY/latest.zip" -Force
pwsh: true
- task: PublishBuildArtifacts@1
@ -263,35 +234,6 @@ stages:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: '${{parameters.PublishFolder}}'
- task: PowerShell@2
displayName: Post Clean-up Agent Folders
enabled: false
#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 (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY) {
Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_BINARIESDIRECTORY) {
Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_SOURCESDIRECTORY) {
Remove-Item -Path "$env:BUILD_SOURCESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_PUBLISHDIRECTORY) {
Remove-Item -Path "$env:BUILD_PUBLISHDIRECTORY" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
pwsh: true
- template: azure-pipelines-clean-agent.yml@self
parameters:
CleanArtifactsFolder: true

View file

@ -14,10 +14,10 @@ pool:
resources:
repositories:
- repository: GitHubRepo
type: github
endpoint: Bletch1971
name: Bletch1971/ServerManagers
- repository: MasterRepo
type: $(Build.Repository.Provider)
endpoint: $(RepositoryEndPoint)
name: $(Build.Repository.Name)
ref: refs/heads/master
variables:
@ -54,27 +54,13 @@ stages:
runOnce:
deploy:
steps:
- task: PowerShell@2
displayName: Pre Clean-up Agent Folders
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory)
BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory)
BUILD_SOURCESDIRECTORY: $(Build.SourcesDirectory)
inputs:
targetType: inline
script: |
if (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY) {
Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_BINARIESDIRECTORY) {
Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_SOURCESDIRECTORY) {
Remove-Item -Path "$env:BUILD_SOURCESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
pwsh: true
- template: azure-pipelines-clean-agent.yml@self
parameters:
CleanArtifactsFolder: true
CleanBinariesFolder: true
CleanSourcesFolder: true
CleanPublishFolder: false
PublishFolder: ${{parameters.PublishFolder}}
- task: PowerShell@2
displayName: Output Environment Variables
@ -84,35 +70,15 @@ stages:
script: '(gci env:*).GetEnumerator() | Sort-Object Name | Out-String'
pwsh: true
- checkout: GitHubRepo
- checkout: MasterRepo
- task: PowerShell@2
displayName: Post Clean-up Agent Folders
condition: always()
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory)
BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory)
BUILD_SOURCESDIRECTORY: $(Build.SourcesDirectory)
BUILD_PUBLISHDIRECTORY: "$(Agent.BuildDirectory)/$(PublishFolder)"
inputs:
targetType: inline
script: |
if (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY) {
Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_BINARIESDIRECTORY) {
Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_SOURCESDIRECTORY) {
Remove-Item -Path "$env:BUILD_SOURCESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_PUBLISHDIRECTORY) {
Remove-Item -Path "$env:BUILD_PUBLISHDIRECTORY" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
pwsh: true
- template: azure-pipelines-clean-agent.yml@self
parameters:
CleanArtifactsFolder: true
CleanBinariesFolder: true
CleanSourcesFolder: true
CleanPublishFolder: true
PublishFolder: ${{parameters.PublishFolder}}
- stage: deployRelease
displayName: Production
@ -130,28 +96,13 @@ stages:
runOnce:
deploy:
steps:
- task: PowerShell@2
displayName: Pre Clean-up Agent Folders
condition: always()
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory)
BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory)
BUILD_SOURCESDIRECTORY: $(Build.SourcesDirectory)
inputs:
targetType: inline
script: |
if (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY) {
Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_BINARIESDIRECTORY) {
Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_SOURCESDIRECTORY) {
Remove-Item -Path "$env:BUILD_SOURCESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
pwsh: true
- template: azure-pipelines-clean-agent.yml@self
parameters:
CleanArtifactsFolder: true
CleanBinariesFolder: true
CleanSourcesFolder: true
CleanPublishFolder: false
PublishFolder: ${{parameters.PublishFolder}}
- task: PowerShell@2
displayName: Output Environment Variables
@ -161,32 +112,12 @@ stages:
script: '(gci env:*).GetEnumerator() | Sort-Object Name | Out-String'
pwsh: true
- checkout: GitHubRepo
- checkout: MasterRepo
- task: PowerShell@2
displayName: Post Clean-up Agent Folders
condition: always()
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: $(Build.ArtifactStagingDirectory)
BUILD_BINARIESDIRECTORY: $(Build.BinariesDirectory)
BUILD_SOURCESDIRECTORY: $(Build.SourcesDirectory)
BUILD_PUBLISHDIRECTORY: "$(Agent.BuildDirectory)/$(PublishFolder)"
inputs:
targetType: inline
script: |
if (Test-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY) {
Remove-Item -Path "$env:BUILD_ARTIFACTSTAGINGDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_BINARIESDIRECTORY) {
Remove-Item -Path "$env:BUILD_BINARIESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_SOURCESDIRECTORY) {
Remove-Item -Path "$env:BUILD_SOURCESDIRECTORY\*" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
if (Test-Path $env:BUILD_PUBLISHDIRECTORY) {
Remove-Item -Path "$env:BUILD_PUBLISHDIRECTORY" -Filter '*.*' -Recurse -Force -ErrorAction SilentlyContinue
}
pwsh: true
- template: azure-pipelines-clean-agent.yml@self
parameters:
CleanArtifactsFolder: true
CleanBinariesFolder: true
CleanSourcesFolder: true
CleanPublishFolder: true
PublishFolder: ${{parameters.PublishFolder}}