Skip to content

Instantly share code, notes, and snippets.

@Hecatoncheir
Forked from npenkov/golang.gitlab-ci.yml
Created September 24, 2018 19:52
Show Gist options
  • Save Hecatoncheir/5163a845e035f30eca1105c27ea359d0 to your computer and use it in GitHub Desktop.
Save Hecatoncheir/5163a845e035f30eca1105c27ea359d0 to your computer and use it in GitHub Desktop.
gitlab-ci for Go projects using go dep.
# Replace "projectname" and "username"
image: golang:1.9
variables:
BIN_NAME: projectname
ARTIFACTS_DIR: artifacts
GO_PROJECT: gitlab.com/username/projectname
stages:
- build
- test
before_script:
- mkdir -p ${GOPATH}/src/${GO_PROJECT}
- mkdir -p ${CI_PROJECT_DIR}/${ARTIFACTS_DIR}
- go get -u github.com/golang/dep/cmd/dep
- cp -r ${CI_PROJECT_DIR}/* ${GOPATH}/src/${GO_PROJECT}/
- cd ${GOPATH}/src/${GO_PROJECT}
build-projectname:
stage: build
script:
- dep ensure
- go build -o ${CI_PROJECT_DIR}/${ARTIFACTS_DIR}/${BIN_NAME}
artifacts:
paths:
- ${ARTIFACTS_DIR}
test-projectname:
stage: test
script:
- dep ensure
- go test -v -cover ./...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment