Add GitLab CI templates for Docker builds
This commit is contained in:
parent
1798c8af81
commit
85883ee77e
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue