1
0
Fork 0
home-dns/.gitlab-ci.yml

67 lines
1.1 KiB
YAML

# build the go app, then wrap it in an image
stages:
- build
- test
- package
.go: &go-job
image: andrexus/golang-dep
tags:
- runner:k8s
build:go:
<<: *go-job
stage: build
script:
- time dep ensure
- go build
variables:
GOPATH: /build
artifacts:
paths:
- home-dns
expire_in: 1 hour
cache:
key: "${CI_COMMIT_REF_SLUG}"
policy: pull-push
paths:
- vendor
test:go:
<<: *go-job
stage: test
cache:
key: "${CI_COMMIT_REF_SLUG}"
policy: pull
dependencies:
- build:go
script:
- go test
variables:
GOPATH: /build
package:docker:
stage: package
image: docker:stable
services:
- docker:stable-dind
tags:
- runner:k8s
dependencies:
- build:go
before_script:
- mkdir /root/.docker
- ln -s /secrets/docker /root/.docker/config.json
script:
- docker info
- docker build -t $IMAGE_TAG .
- docker push $IMAGE_TAG
variables:
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://localhost:2375
IMAGE_TAG: ssube/home-dns:$CI_COMMIT_REF_SLUG