49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
|
variables:
|
||
|
DOCKER_IMAGE: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/docker:20.10.8-dind
|
||
|
DOCKER_HOST: tcp://docker:2375
|
||
|
DOCKER_TCP_PORT: 2375
|
||
|
DOCKER_TLS_CERTDIR: ""
|
||
|
LINTTEST_IMAGE: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.42.1
|
||
|
REGISTRY_IMAGE_LATEST: ${CI_REGISTRY_IMAGE}:latest
|
||
|
REGISTRY_IMAGE_TAGGED: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}
|
||
|
|
||
|
services:
|
||
|
- name: ${DOCKER_IMAGE}
|
||
|
alias: docker
|
||
|
|
||
|
stages:
|
||
|
- test
|
||
|
- release
|
||
|
|
||
|
lint:
|
||
|
stage: test
|
||
|
tags:
|
||
|
- docker
|
||
|
image: ${LINTTEST_IMAGE}
|
||
|
script:
|
||
|
- golangci-lint run
|
||
|
|
||
|
build_master_image:
|
||
|
stage: release
|
||
|
only:
|
||
|
- master
|
||
|
tags:
|
||
|
- docker
|
||
|
image: ${DOCKER_IMAGE}
|
||
|
script:
|
||
|
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
|
||
|
- docker build --pull -t ${REGISTRY_IMAGE_LATEST} --build-arg CI_COMMIT_TAG=${CI_COMMIT_TAG} --build-arg CI_COMMIT_REF_NAME=${CI_COMMIT_REF_NAME} --build-arg CI_COMMIT_SHA=${CI_COMMIT_SHA} --build-arg CI_PROJECT_NAME=${CI_PROJECT_NAME} .
|
||
|
- docker push ${REGISTRY_IMAGE_LATEST}
|
||
|
|
||
|
build_tag_image:
|
||
|
stage: release
|
||
|
only:
|
||
|
- tags
|
||
|
tags:
|
||
|
- docker
|
||
|
image: ${DOCKER_IMAGE}
|
||
|
script:
|
||
|
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
|
||
|
- docker build -t ${REGISTRY_IMAGE_TAGGED} --build-arg CI_COMMIT_TAG=${CI_COMMIT_TAG} --build-arg CI_COMMIT_REF_NAME=${CI_COMMIT_REF_NAME} --build-arg CI_COMMIT_SHA=${CI_COMMIT_SHA} --build-arg CI_PROJECT_NAME=${CI_PROJECT_NAME} .
|
||
|
- docker push ${REGISTRY_IMAGE_TAGGED}
|