pipeline { agent any tools { go 'go-1.15.6' } environment { GO115MODULE = 'on' CGO_ENABLED = 0 GOPATH = '/tmp/gopath' } stages { stage('Pre Test') { steps { echo 'Installing dependencies' sh 'go version' sh 'go get -u golang.org/x/lint/golint' } } stage('Compile') { steps { sh 'go build' } } stage('Test') { parallel{ stage('go vet') { steps { echo 'Running vetting' sh 'go vet .' } } stage('test') { steps { echo 'Running test' sh 'go test -v ./...' } } stage('lint') { environment { PATH="${env.PATH}:${env.GOPATH}/bin" } steps { sh 'golint ./...' } } } } } post { always { mail (bcc: '', body: "Project: ${env.JOB_NAME}
Build Number: ${env.BUILD_NUMBER}
Build URL: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: 'jenkins@jenkins.deepak.science', mimeType: 'text/html', replyTo: 'dmallubhotla+jenkins@gmail.com', subject: "${env.JOB_NAME} #${env.BUILD_NUMBER}: Build ${currentBuild.currentResult}", to: "dmallubhotla+ci@gmail.com") } } }