Add GitLab CI templates for Docker builds

This commit is contained in:
Sergey Paramoshkin 2026-02-01 00:03:11 +03:00
parent 1798c8af81
commit 85883ee77e
2 changed files with 74 additions and 0 deletions

42
docker-build-extended.yml Normal file
View File

@ -0,0 +1,42 @@
# Шаблон: Docker Build + Push (расширенный)
# Теги: branch, commit SHA, latest (для tags)
stages:
- build
variables:
REGISTRY: registry.dot-dot.ru
IMAGE_NAME: ${REGISTRY}/${CI_PROJECT_NAME}
.docker-build:
image: docker:24
before_script:
- echo "${REGISTRY_PASSWORD}" | docker login ${REGISTRY} -u ${REGISTRY_USER} --password-stdin
# Сборка веток
build:branch:
extends: .docker-build
stage: build
script:
- docker build --pull
-t ${IMAGE_NAME}:${CI_COMMIT_REF_SLUG}
-t ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA}
.
- docker push ${IMAGE_NAME}:${CI_COMMIT_REF_SLUG}
- docker push ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA}
rules:
- if: $CI_COMMIT_BRANCH
# Сборка тегов (релизы)
build:tag:
extends: .docker-build
stage: build
script:
- docker build --pull
-t ${IMAGE_NAME}:${CI_COMMIT_TAG}
-t ${IMAGE_NAME}:latest
.
- docker push ${IMAGE_NAME}:${CI_COMMIT_TAG}
- docker push ${IMAGE_NAME}:latest
rules:
- if: $CI_COMMIT_TAG

32
docker-build.yml Normal file
View File

@ -0,0 +1,32 @@
# Шаблон: Docker Build + Push
# Использование в проекте:
#
# include:
# - project: 'dot-dot/ci-templates'
# file: '/docker-build.gitlab-ci.yml'
#
# Или скопировать содержимое в .gitlab-ci.yml проекта
stages:
- build
variables:
REGISTRY: registry.dot-dot.ru
# Можно переопределить в проекте:
# IMAGE_NAME: ${REGISTRY}/custom-name
IMAGE_NAME: ${REGISTRY}/${CI_PROJECT_NAME}
.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 -t ${IMAGE_NAME}:${CI_COMMIT_REF_SLUG} .
- docker push ${IMAGE_NAME}:${CI_COMMIT_REF_SLUG}
rules:
- if: $CI_COMMIT_BRANCH
- if: $CI_COMMIT_TAG