42 lines
780 B
YAML
42 lines
780 B
YAML
# build the go app, then wrap it in an image
|
|
stages:
|
|
- build
|
|
- image
|
|
|
|
build:app:
|
|
stage: build
|
|
image: golang:1.9
|
|
tags:
|
|
- runner:k8s
|
|
script:
|
|
- go get home-dns
|
|
- go build home-dns
|
|
artifacts:
|
|
paths:
|
|
- bin/home-dns
|
|
expire_in: 1 hour
|
|
variables:
|
|
GOPATH: "${CI_PROJECT_DIR}"
|
|
|
|
build:image:
|
|
stage: image
|
|
image: docker
|
|
services:
|
|
- docker:dind
|
|
tags:
|
|
- runner:k8s
|
|
script:
|
|
# prep secrets
|
|
- mkdir /root/.docker
|
|
- ln -s /secrets/docker /root/.docker/config.json
|
|
- docker info
|
|
# build it
|
|
- docker build -t $IMAGE_TAG .
|
|
- docker push $IMAGE_TAG
|
|
dependencies:
|
|
- build:app
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_HOST: tcp://localhost:2375
|
|
IMAGE_TAG: ssube/home-dns:$CI_COMMIT_REF_SLUG
|