How to mount Jenkins workspace in docker container using Jenkins pipeline How to mount Jenkins workspace in docker container using Jenkins pipeline docker docker

How to mount Jenkins workspace in docker container using Jenkins pipeline


pipeline {agent anystages {    stage('Clone') {        steps {            git branch: 'master', url: 'https://github.com/lvthillo/maven-hello-world.git'            stash name:'scm', includes:'*'        }    }    stage('Build in Docker') {        steps {            unstash 'scm'            script{                docker.image('maven:3.5.2').inside{                     sh 'pwd'                    sh 'mvn -v'                    sh 'mvn clean install'                }            }        }    }}}

You can use this pipeline even with a multi-node setup. Docker plugin mounts your workspace as a docker workspace too.Hence, it is not necessary to mount any volume unless they are outside the workspace.


Thanks, the Previous solution works for me. My version for node container and ${PWD} as param

stage('Build Solution') {         agent {            docker {                image 'node:6-alpine'                args '-v ${PWD}:/usr/src/app -w /usr/src/app'                reuseNode true            }        }        steps {            sh 'npm install'        }    }


My last explanation was helping myself to solve the problem:This text helped me to solve it. I had to ensure that all the steps on my pipeline were using the same agent as the initial one where I performed my git clone:

Addit reuseNode true solved it:

stage('Build in Docker') {            agent {                docker {                    image 'maven:3.5.2'                    args '-v /var/jenkins_home/workspace/test:/opt/maven -w /opt/maven'                    reuseNode true                }            }