def remote = [:] remote.name = 'remote' remote.host = env.DEPLOY_HOST remote.user = env.DEPLOY_USER remote.identityFile = '/var/lib/jenkins/.ssh/id_rsa' remote.knownHosts = '/var/lib/jenkins/.ssh/known_hosts' remote.allowAnyHosts = true logLevel = 'FINER' pipeline { agent none environment { GOOS='linux' CGO_ENABLED='1' HOME='.' } stages { stage('Build & deploy') { agent { docker { image 'golang:latest' } } steps { sh 'mkdir -p /go/src/github.com/simon987/beemer' sh 'cp *.go "/go/src/github.com/simon987/beemer"' sh 'cd /go/src/github.com/simon987/beemer && go get ./...' sh 'cd /go/src/github.com/simon987/beemer && go build -a -installsuffix cgo -o "${WORKSPACE}/${BUILD_NUMBER}_beemer" .' sshPut remote: remote, from: env.BUILD_NUMBER + '_beemer', into: 'beemer/webroot/' } } } }