diff --git a/jenkins/Jenkinsfile b/jenkins/Jenkinsfile new file mode 100644 index 0000000..d04e59a --- /dev/null +++ b/jenkins/Jenkinsfile @@ -0,0 +1,33 @@ +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/' + } + } + } +} \ No newline at end of file