-
Notifications
You must be signed in to change notification settings - Fork 3
/
.gitlab-ci.yml
36 lines (32 loc) · 1.29 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
image: skame/docker-compose
variables:
DOCKER_DRIVER: overlay
services:
- docker:dind
stages:
- build
docker-build:
stage: build
script:
- wget -q https://storage.googleapis.com/golang/go1.7.5.linux-amd64.tar.gz
- tar zxvf go1.7.5.linux-amd64.tar.gz -C $HOME
- export GOROOT=$HOME/go
- export PATH=$PATH:$GOROOT/bin
- export GOPATH=$HOME/work
- export PATH=$PATH:$GOPATH/bin
- mkdir -p $GOPATH/src/$(dirname $(pwd))
- ln -s $(pwd) $GOPATH/src/$(dirname $(pwd))
- cd $GOPATH/src/$(pwd)
- cp /etc/ssl/certs/ca-certificates.crt .
- go get
- CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo
- export DOCKER_HOST=tcp://docker:2375
- docker info
- export tag="${CI_BUILD_REF_SLUG}-$(git rev-parse --short HEAD)"
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN ${DOCKER_ENV_CI_REGISTRY}
- docker build -t ${CI_REGISTRY_IMAGE}:${tag} .
- docker tag ${CI_REGISTRY_IMAGE}:${tag} ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF_SLUG}
- '[ "${CI_BUILD_REF_SLUG}" = master ] && docker tag ${CI_REGISTRY_IMAGE}:${tag} ${CI_REGISTRY_IMAGE}:latest'
- '[ "${CI_BUILD_REF_SLUG}" = master ] && docker push ${CI_REGISTRY_IMAGE}:latest'
- docker push ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF_SLUG}
- docker push ${CI_REGISTRY_IMAGE}:${tag}