chrly/.gitlab-ci.yml
2017-08-18 02:03:18 +03:00

47 lines
1.2 KiB
YAML

stages:
- test
- build
- push
variables:
CONTAINER_IMAGE: registry.ely.by/elyby/skinsystem
test:
image: golang:1.8.3-stretch
stage: test
script:
- mkdir -p $GOPATH/src/$CI_PROJECT_NAMESPACE
- cp -r $(pwd) $GOPATH/src/$CI_PROJECT_PATH
- cd $GOPATH/src/$CI_PROJECT_PATH
- go get -u github.com/golang/dep/cmd/dep
- $GOPATH/bin/dep ensure
- go test $(go list ./... | grep -v /vendor/)
build:
image: docker:latest
stage: build
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
script:
- export IMAGE_NAME="$CONTAINER_IMAGE:dev"
- docker build --pull -t $IMAGE_NAME .
- docker push $IMAGE_NAME
only:
- develop
push_tags:
image: docker:latest
stage: push
variables:
GIT_STRATEGY: none
before_script:
- docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by
script:
- export IMAGE_NAME="$CONTAINER_IMAGE:$CI_BUILD_TAG"
- docker tag $CONTAINER_IMAGE:dev $CONTAINER_IMAGE:latest
- docker tag $CONTAINER_IMAGE:latest $IMAGE_NAME
- docker push $IMAGE_NAME
- docker push $CONTAINER_IMAGE:latest
only:
- tags