diff --git a/.azure/pipelines/azure-pipelines-build.yml b/.azure/pipelines/azure-pipelines-build.yml index 3d7878ec..fd803c19 100644 --- a/.azure/pipelines/azure-pipelines-build.yml +++ b/.azure/pipelines/azure-pipelines-build.yml @@ -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 diff --git a/.azure/pipelines/azure-pipelines.yml b/.azure/pipelines/azure-pipelines.yml index d58506b0..55acc24b 100644 --- a/.azure/pipelines/azure-pipelines.yml +++ b/.azure/pipelines/azure-pipelines.yml @@ -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}}