Openshift Jenkins Build Pipeline - дождитесь завершения сборки - PullRequest
0 голосов
/ 17 января 2019

У меня сейчас проблема. Я устанавливаю конвейер сборки для openshift, используя jenkins.

Теперь моя проблема заключается в следующем. Openshift начнет развертывание до того, как моя сборка будет фактически завершена. На самом деле я не хочу использовать какой-то фиксированный период ожидания для запуска развертывания, так как это может привести к ошибкам, если сборка займет больше времени или потратит время, если она будет завершена быстрее.

Есть ли способ, которым Дженкинс ждет завершения сборки, прежде чем перейти к следующему этапу?

На данный момент мой конвейер выглядит так. Я также открыт для других решений.

Jenkinsfile

pipeline {
    agent any
    stages {
        stage('Prerequisites'){
            steps {
                sh 'node --version'
                sh 'npm cache verify'
                sh "npm config set strict-ssl false"
                sh "npm config set registry https://private.registry/repository/npm-registry/"
                sh "npm config set proxy http://user:pw@proxy.int:port/"
                sh "npm config set https-proxy http://http://user:pw@proxy.int:port/"
                sh "npm config set no_proxy=private.registry"
            }
        }
        stage('Build'){
            steps {
                sh 'npm install'
                sh 'npm run tsc -v'                
                sh 'npm run tsc -- --p ./tsconfig-prod.json' 
            }
        }

        stage('Unit Testing'){
            steps {
                sh 'npm test'
            }
        }

        stage('Login to OpenShift'){
            steps {
                sh 'oc login https://openshift.cluster -u user -p pw'
                sh 'oc project my-project'
            }
        }

        stage('Build on INT'){
            steps {          
                sh 'oc replace -f ./openshift/is.yaml || oc create -f ./openshift/is.yaml'
                sh 'oc replace -f ./openshift/build.yaml || oc create -f ./openshift/build.yaml'
                sh 'oc start-build my-app'

            }            
        }

        stage('Deploy on INT'){
            steps {
                echo 'Deploying on INT'
                sh 'oc replace -f ./openshift/deploy.yaml || oc create -f ./openshift/deploy.yaml'
            }
        }

        stage('Creating Service and Route'){
            steps {
                sh 'oc replace -f ./openshift/service.yaml || oc create -f ./openshift/service.yaml'
                sh 'oc replace -f ./openshift/route.yaml  || oc create -f ./openshift/route.yaml'
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...