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.

44 lines
1.7 KiB

5 years ago
  1. parameters:
  2. ProjectName: ''
  3. OpenShiftProject: ''
  4. AppName: ''
  5. OpenShiftServiceConnection: ''
  6. jobs:
  7. - job: Container_Build
  8. dependsOn: Restore_Build_Publish
  9. pool:
  10. vmImage: 'windows-latest'
  11. steps:
  12. - task: redhat.openshift-vsts.oc-setup-task.oc-setup@2
  13. displayName: 'oc-setup '
  14. inputs:
  15. openshiftService: $(OpenShiftServiceConnection)
  16. - script: 'oc project $(OpenShiftProject)'
  17. failOnStderr: true
  18. displayName: 'Set Project Context'
  19. - task: DownloadPipelineArtifact@2
  20. inputs:
  21. artifact: drop
  22. - script: 'oc process -f $(Pipeline.Workspace)/openshift-app-build-template.yml -p APPLICATION_NAME=$(AppName) | oc apply -f-'
  23. failOnStderr: true
  24. displayName: 'Ensure OpenShift BuildConfig'
  25. - powershell: |
  26. $pinfo = New-Object System.Diagnostics.ProcessStartInfo
  27. $pinfo.FileName = "oc.exe"
  28. $pinfo.RedirectStandardError = $true
  29. $pinfo.RedirectStandardOutput = $true
  30. $pinfo.UseShellExecute = $false
  31. $pinfo.Arguments = "start-build $(AppName) --from-dir=$(ProjectName) --follow --wait"
  32. $p = New-Object System.Diagnostics.Process
  33. $p.StartInfo = $pinfo
  34. $p.Start() | Out-Null
  35. $p.WaitForExit()
  36. $stdout = $p.StandardOutput.ReadToEnd()
  37. $stderr = $p.StandardError.ReadToEnd()
  38. Write-Host "stdout: $stdout"
  39. Write-Host "stderr: $stderr"
  40. Write-Host "exit code: " + $p.ExitCode
  41. $binaryBuildHasErrors = $p.ExitCode -ne 0
  42. Write-Host "##vso[task.setvariable variable=BinaryBuildHasErrors;]$binaryBuildHasErrors"
  43. displayName: 'Start OpenShift Binary Build'
  44. failOnStderr: and(succeeded(), eq(variables['BinaryBuildHasErrors'], False))
  45. workingDirectory: '$(Pipeline.Workspace)'