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 - ./script/coverage 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