pipeline { agent { label 'golang' } options { buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10')) } stages { stage('Build') { steps { // Build SH script sh '''export PATH=$PATH:/usr/local/go/bin go build -o "HelloWorld-amd64-$BUILD_DISPLAY_NAME" cp HelloWorld-amd64-$BUILD_DISPLAY_NAME HelloWorld-amd64-Latest ''' // Archive Build file // Local archiveArtifacts artifacts: "HelloWorld-amd64-$BUILD_DISPLAY_NAME", onlyIfSuccessful: true //Remote sftp server sshPublisher(publishers: [sshPublisherDesc(configName: 'centnas', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/$JOB_NAME', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'HelloWorld-amd64*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)]) // Cleaning WorkSpace cleanWs() } } } post { success { echo 'Build successful' } failure { echo 'Build Failed' // Send To person to make commit //emailext body: '$DEFAULT_CONTENT', recipientProviders: [culprits()], subject: '$DEFAULT_SUBJECT' // Send To static addres emailext attachLog: true,body: '$DEFAULT_CONTENT', subject: '$DEFAULT_SUBJECT', to: 'bram@bprieshof.nl' } unstable { echo 'Build unstable' } changed { echo 'Pipeline has changed' } } }