#!groovy pipeline { agent any environment { GOPATH = "${pwd(tmp: true)}/gocode" } stages { stage('Fetch go dependencies') { environment { BUILDDIR = "${GOPATH}/src/git.cacert.org/cacert-boardvoting" } steps { sh "rm -rf '${GOPATH}/src/git.cacert.org' ; mkdir -p '${GOPATH}/src/git.cacert.org'" sh "ln -s '${pwd()}' '${BUILDDIR}'" sh "cd '${BUILDDIR}' ; go get -u github.com/golang/dep/cmd/dep && '${GOPATH}/bin/dep' ensure -v" sh "go get -u github.com/shuLhan/go-bindata/go-bindata" } } stage('Build') { environment { BUILDDIR = "${GOPATH}/src/git.cacert.org/cacert-boardvoting" } steps { sh "cd '${BUILDDIR}' ; make clean && make BUILD='${env.BUILD_TAG}'" } } stage('Create build output') { steps { archiveArtifacts artifacts: 'cacert-boardvoting,config.yaml.example' } } } }