41 lines
1.2 KiB
YAML
41 lines
1.2 KiB
YAML
stages:
|
|
- check
|
|
- release
|
|
|
|
check:
|
|
image: golangci/golangci-lint:v1.53.3-alpine
|
|
script:
|
|
- golangci-lint run --timeout 3m
|
|
stage: check
|
|
|
|
release-image:
|
|
stage: build
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
variables:
|
|
DOCKER_HOST: tcp://docker:2376
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
DOCKER_TLS_VERIFY: 1
|
|
DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
|
|
before_script:
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- docker info
|
|
script:
|
|
- export TAGS=""
|
|
- export VERSION="dev"
|
|
- |
|
|
if [[ -n "$CI_APPLICATION_TAG" ]]; then
|
|
export TAGS="$TAGS -t $CI_REGISTRY_IMAGE:$CI_APPLICATION_TAG"
|
|
export VERSION="$CI_APPLICATION_TAG"
|
|
elif [[ -z "$CI_COMMIT_TAG" ]]; then
|
|
export TAGS="$TAGS -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA"
|
|
export TAGS="$TAGS -t $CI_REGISTRY_IMAGE:dev"
|
|
else
|
|
export TAGS="$TAGS -t $CI_REGISTRY_IMAGE:latest"
|
|
export TAGS="$TAGS -t $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG"
|
|
export VERSION="$CI_COMMIT_TAG"
|
|
fi
|
|
- docker build . -f Dockerfile --build-arg VERSION=${VERSION} $TAGS
|
|
- docker push -a $CI_REGISTRY_IMAGE
|