pipeline { agent any environment { PACKAGE_VERSION_PREFIX=sh(script: 'jq .version package.json |sed "s/\\"//g"', returnStdout: true).trim() PACKAGE_VERSION="${PACKAGE_VERSION_PREFIX}" } stages { stage('npm install'){ steps { sh '''rm -rf node_modules/ npm install --legacy-peer-deps cd projects/common npm install --legacy-peer-deps cd ../common-map npm install --legacy-peer-deps cd ../common-map3d npm install --legacy-peer-deps ''' } } stage('build'){ steps { sh '''ng build common --configuration production ng build common-map --configuration production ng build common-map3d --configuration production''' } } stage('npm publish'){ steps { sh '''cd dist/common npm version ${PACKAGE_VERSION} --allow-same-version npm publish cd ../common-map npm version ${PACKAGE_VERSION} --allow-same-version npm publish cd ../common-map3d npm version ${PACKAGE_VERSION} --allow-same-version npm publish''' } } } post { always { emailext ( body: '${DEFAULT_CONTENT}', mimeType: 'text/html', replyTo: '${DEFAULT_REPLYTO}', subject: '${DEFAULT_SUBJECT}', to: emailextrecipients([[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']]) ) } } }