# 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