ci-templates/docker-build.yml

36 lines
904 B
YAML

# Шаблон: Docker Build + Push
#
# Использование:
# include:
# - project: 'dot-dot/ci-templates'
# file: '/docker-build.yml'
#
# Переменные (можно переопределить):
# IMAGE_NAME: ${REGISTRY}/custom-name
# DOCKERFILE: path/to/Dockerfile
# DOCKER_CONTEXT: ./subdir
stages:
- build
variables:
REGISTRY: registry.dot-dot.ru
IMAGE_NAME: ${REGISTRY}/${CI_PROJECT_NAME}
DOCKERFILE: Dockerfile
DOCKER_CONTEXT: .
.docker-build:
image: docker:24
before_script:
- echo "${REGISTRY_PASSWORD}" | docker login ${REGISTRY} -u ${REGISTRY_USER} --password-stdin
build:
extends: .docker-build
stage: build
script:
- docker build --pull -f ${DOCKERFILE} -t ${IMAGE_NAME}:${CI_COMMIT_REF_SLUG} ${DOCKER_CONTEXT}
- docker push ${IMAGE_NAME}:${CI_COMMIT_REF_SLUG}
rules:
- if: $CI_COMMIT_BRANCH
- if: $CI_COMMIT_TAG