We have a build and deploy process for every artifact(it is not a maven 
build, and not a maven arifact). If build or deploy for a single artifact 
fails it should not stop the whole process.


We have a separate jobs for build and deploy. Build jobs can work in 
parallel on a slaves, deploy not.


The results of a build job should be used by deploy job. I need somehow to 
get a workspace location of a build and set it as a parameter of a deploy 
job, that deploy job can use ear files from build job and deploy them on a 
server.


The place where I need to put a workspace is marked with a question mark.


def branches = [:]
def artifactsToDeploy = []
node{
    workspace = pwd()
    echo "Workspace:${workspace}"

    //read artifact names from file
    def appFile=readFile(workspace+"@script/artifacts.txt")
    def artifactNames = appFile.tokenize()

    //prepare parallel jobs
    for (int i=0 ; i < artifactNames.size ; i++) {
        def artifactName=artifactNames[i]
        branches[artifactName]={

            //start build job
            def buildResult = build job: 'build-artifact', parameters: 
[[$class: 'StringParameterValue', name: 'ARTIFACT', value:artifactName],
            [$class: 'StringParameterValue', name: 'SVN_TAG', value:SVN_TAG]]

            //need to read workspace from a build job, that was running on a 
slave
            
artifactsToDeploy[artifactsToDeploy.size]=[artifact:artifactName,workspace:?????]
        }
    }

    echo 'pipeline begin'
    stage('build'){
        parallel branches
    }

    stage('deploy'){

        //read artifacts from a list and deploy 
        for (int i=0;i<artifactsToDeploy.size;i++) {
            def buildResult = build job: 'deploy-artifact', parameters: 
[[$class: 'StringParameterValue', name: 'ARTIFACT', 
value:artifactsToDeploy[i].artifact],
            [$class: 'StringParameterValue', name: 'WORKSPACE', 
value:artifactsToDeploy[i].workspace]]
        }
    }
    echo 'pipeline end'
}

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/71996b15-cac9-4de2-a812-70b26e642e7a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to