You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.7 KiB

parameters:
ProjectName: ''
OpenShiftProject: ''
AppName: ''
OpenShiftServiceConnection: ''
jobs:
- job: Container_Build
dependsOn: Restore_Build_Publish
pool:
vmImage: 'windows-latest'
steps:
- task: redhat.openshift-vsts.oc-setup-task.oc-setup@2
displayName: 'oc-setup '
inputs:
openshiftService: $(OpenShiftServiceConnection)
- script: 'oc project $(OpenShiftProject)'
failOnStderr: true
displayName: 'Set Project Context'
- powershell: |
$pinfo = New-Object System.Diagnostics.ProcessStartInfo
$pinfo.FileName = "oc.exe"
$pinfo.RedirectStandardError = $true
$pinfo.RedirectStandardOutput = $true
$pinfo.UseShellExecute = $false
$pinfo.Arguments = "get buildConfig $(AppName)-build"
$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo
$p.Start() | Out-Null
$p.WaitForExit()
$stdout = $p.StandardOutput.ReadToEnd()
$stderr = $p.StandardError.ReadToEnd()
Write-Host "stdout: $stdout"
Write-Host "stderr: $stderr"
Write-Host "exit code: " + $p.ExitCode
$buildExists = $stdout.Contains("$(AppName)-build")
Write-Host "##vso[task.setvariable variable=BuildExists;]$buildExists"
displayName: 'Check for Existing Build'
- script: 'oc new-build --name=$(AppName)-build dotnet:3.1 --binary=true'
failOnStderr: true
displayName: 'Create OpenShift Build'
condition: and(succeeded(), eq(variables['BuildExists'], False))
- script: 'oc start-build $(AppName)-build --from-dir="$(Build.ArtifactStagingDirectory)/$(ProjectName)" --follow --wait'
failOnStderr: true
displayName: 'Start OpenShift Binary Build'
continueOnError: true