parameters: - name: DeploymentType displayName: Type of Deployment Stage type: string values: - Beta - Production - name: DependsOn displayName: Depends On type: string - name: ApplicationName type: string - name: PublishFolder type: string - name: RepositoryFolder type: string stages: - stage: deploy${{parameters.DeploymentType}} displayName: ${{parameters.DeploymentType}} lockBehavior: runLatest condition: and(succeeded(), eq(variables['build.sourceBranch'], 'refs/heads/source')) dependsOn: - build - ${{ if ne(parameters.DependsOn, 'build') }}: - deploy${{parameters.DependsOn}} jobs: - deployment: deploy${{parameters.DeploymentType}} displayName: Deploy ${{parameters.DeploymentType}} environment: github-servermanager-${{ lower(parameters.DeploymentType) }} workspace: clean: all strategy: runOnce: deploy: steps: - template: azure-pipelines-clean-agent.yml@self parameters: CleanArtifactsFolder: true CleanBinariesFolder: true CleanSourcesFolder: true CleanPublishFolder: false PublishFolder: $(PublishFolder) - task: PowerShell@2 displayName: Output Deployment Details condition: contains(variables['system.debug'], 'true') inputs: targetType: inline script: | Write-Host "Deployment type: ${{parameters.DeploymentType}}" Write-Host "Publish folder: ${{parameters.PublishFolder}}" Write-Host "Repository folder: ${{parameters.RepositoryFolder}}" pwsh: true - template: output-environment-variables.yml@self - checkout: MasterRepo - template: azure-pipelines-clean-agent.yml@self parameters: CleanArtifactsFolder: false CleanBinariesFolder: false CleanSourcesFolder: false CleanPublishFolder: false PublishFolder: $(PublishFolder)