import java.text.SimpleDateFormat pipeline { agent { label "dev-winservice" } options { timeout(time: 3, unit: 'HOURS') } environment { JENKINS_MAIL='jenkins@sdsys.ru' REV_NUMBER='' } parameters { string( name: "mailto", defaultValue: "labportal@sdsys.ru", description: "Email which has to be notified." ) } stages { stage("Build docker image") { steps { // Checkout repository powershell 'svn.exe checkout svn://192.168.21.250/programs/trunk/Services/Analis/Win64 Infoclinica --username public --password "sds#7753435"' // Discover revision number script { REV_NUMBER = powershell(returnStdout: true, script: 'svn info --show-item last-changed-revision .\\Infoclinica').trim() echo "Last-Changed-Revision number is '$REV_NUMBER'" } powershell """ Set-PSDebug -Trace 1 pwd move-Item -Path .\\Infoclinica\\.svn -Destination ..\\svn docker build -t analis-service:${REV_NUMBER}-${BUILD_NUMBER} . move-Item -Path ..\\svn -Destination .\\Infoclinica\\.svn """ } } } post { failure { mail charset: 'UTF-8', subject: "Jenkins Analis Server docker image build ERROR", mimeType: 'text/html', to: "${mailto}", body: "ATTENTION!!!
Jenkins job failed.\n\n
Project Name:
${env.JOB_NAME}
\nBuild Number:
${env.BUILD_NUMBER}
\nBuild Tag:
${env.REV_NUMBER}-${env.BUILD_NUMBER}
\nURL Build:
${RUN_DISPLAY_URL}" } success { mail charset: 'UTF-8', subject: "Jenkins Analis Server docker image build SUCCESS", mimeType: 'text/html', to: "${mailto}", body: "Congradulations!!!
Jenkins job succefully finished.\n\n
Project Name:
${env.JOB_NAME}
\nBuild Number:
${env.BUILD_NUMBER}
\nBuild Tag:
${REV_NUMBER}-${env.BUILD_NUMBER}
\nURL Build:
${RUN_DISPLAY_URL}" } } }