#!groovy node { currentBuild.result = "SUCCESS"; try { stage('Checkout'){ checkout scm } stage('Build'){ env.NODE_ENV = "development"; sh 'yarn install'; sh 'gulp dist'; } stage('Deploy'){ echo 'Copy to web server'; withCredentials([sshUserPrivateKey(credentialsId: '', keyFileVariable: 'rocket', passphraseVariable: '', usernameVariable: '')]) { sh 'rsync -rv ./dist rocketman@oreolek.ru:/var/www/oreolek/my_games/mapgen' } } stage('Cleanup'){ echo 'prune and cleanup'; sh 'npm prune'; sh 'rm node_modules -rf'; emailext ( subject: "SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", body: """

SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':

Check console output at "${env.JOB_NAME} [${env.BUILD_NUMBER}]"

""", recipientProviders: [developers()] ); } } catch (err) { currentBuild.result = "FAILURE"; emailext ( subject: "FAILURE: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", body: """

FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':

Check console output at "${env.JOB_NAME} [${env.BUILD_NUMBER}]"

""", recipientProviders: [developers()] ) throw err } }