pipeline { agent { docker { image 'node:20' } } stages { stage('install') { steps { sh 'node -v' sh 'npm -v' script { String tag = sh(returnStdout: true, script: 'git tag --contains').trim() String branchName = sh(returnStdout: true, script: 'git rev-parse --abbrev-ref HEAD' ).trim() String commit = sh(returnStdout: true, script: 'git log -1 --oneline').trim() String commitMsg = commit.substring(commit.indexOf(' ')).trim() if (tag) { currentBuild.displayName = "#${BUILD_NUMBER}, tag ${tag}" } else { currentBuild.displayName = "#${BUILD_NUMBER}, branch ${branchName}" } String author = sh(returnStdout: true, script: "git log -1 --pretty=format:'%an'").trim() currentBuild.description = "${author}
${commitMsg}" echo 'starting installing' sh 'npm ci' } } } stage('checks') { parallel { stage('eslint') { steps { sh 'npm run eslint' } } stage('build') { steps { sh 'npm run build' } } } } stage('clean-all') { steps { sh 'rm -rf .[!.]*' sh 'rm -rf ./*' sh 'ls -a' } } } }