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' remote.port = 2299 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/Architeuthis' sh 'cp *.go "/go/src/github.com/simon987/Architeuthis"' sh 'cd /go/src/github.com/simon987/Architeuthis && go get ./...' sh 'cd /go/src/github.com/simon987/Architeuthis && go build -a -installsuffix cgo -o "${WORKSPACE}/architeuthis" .' sh 'tar -czf ${BUILD_NUMBER}_architeuthis.tar.gz config.json architeuthis reload.sh' sshPut remote: remote, from: env.BUILD_NUMBER + '_architeuthis.tar.gz', into: 'architeuthis/webroot/' } } } }