Update pipline/docker_build/docker_build_buildah.yml
This commit is contained in:
parent
392a8c94ff
commit
a4c9d0092a
@ -1 +1,80 @@
|
|||||||
111
|
.buildah_info: &buildah-info
|
||||||
|
- until buildah --version; do sleep 1; done
|
||||||
|
|
||||||
|
.buildah_login_registry: &buildah-login-registry
|
||||||
|
- buildah login -u $REGISTRY_USER -p $REGISTRY_PASSWORD $REGISTRY
|
||||||
|
|
||||||
|
.buildah_login_stdin: &buildah-login-stdin
|
||||||
|
- echo "$REGISTRY_PASSWORD" | buildah login -u $REGISTRY_USER $REGISTRY --password-stdin
|
||||||
|
|
||||||
|
.buildah_login_stdin_base64: &buildah-login-stdin-base64
|
||||||
|
- echo "$REGISTRY_PASSWORD" | base64 -d | buildah login -u $REGISTRY_USER $REGISTRY --password-stdin
|
||||||
|
|
||||||
|
.buildah_logout: &buildah-logout
|
||||||
|
- buildah logout $REGISTRY
|
||||||
|
|
||||||
|
.buildah_build: &buildah-build
|
||||||
|
- buildah bud $BUILD_STORAGE_DRIVER $BUILD_CACHE $BUILD_ARGS --isolation=$BUILDAH_ISOLATION -f $DOCKERFILE_PATH -t $DOCKER_TAG $CONTEXT_PATH
|
||||||
|
|
||||||
|
.buildah_push: &buildah-push
|
||||||
|
- buildah images
|
||||||
|
- buildah push $DOCKER_TAG
|
||||||
|
- if [[ "${CI_COMMIT_REF_SLUG}" == "main" || "${CI_COMMIT_REF_SLUG}" == "master" ]]; then
|
||||||
|
buildah tag $DOCKER_TAG ${REGISTRY_IMAGE}:latest; fi
|
||||||
|
- if [[ "${CI_COMMIT_REF_SLUG}" == "main" || "${CI_COMMIT_REF_SLUG}" == "master" ]]; then
|
||||||
|
buildah push ${REGISTRY_IMAGE}:latest; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.buildah_retag: &buildah-retag
|
||||||
|
- buildah pull $SOURCE_IMAGE
|
||||||
|
- buildah tag $SOURCE_IMAGE $TARGET_IMAGE
|
||||||
|
- buildah push $TARGET_IMAGE
|
||||||
|
|
||||||
|
|
||||||
|
.buildah_build:
|
||||||
|
stage: build
|
||||||
|
image: sed-docker.artifacts.tn.tngrp.ru/buildah:v1.39.3-ca
|
||||||
|
variables:
|
||||||
|
REGISTRY: $CI_REGISTRY
|
||||||
|
REGISTRY_USER: $CI_REGISTRY_USER
|
||||||
|
REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
||||||
|
REGISTRY_IMAGE: $CI_REGISTRY_IMAGE
|
||||||
|
CONTEXT_PATH: ${CI_PROJECT_DIR}
|
||||||
|
DOCKERFILE_PATH: ${CI_PROJECT_DIR}/Dockerfile
|
||||||
|
DOCKER_TAG: $REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
||||||
|
BUILD_ARGS: "" # Можно изменить, например, на "--build-arg PROJECT_PATH=dotnet/app01 --build-arg CONFIG_FILE=dotnet/NuGet.Config"
|
||||||
|
# BUILD_STORAGE_DRIVER: "--storage-driver=vfs" # По умолчанию vfs(совместимый с rootless-режимом). Возможные значения: vfs,overlay,btrfs,zfs
|
||||||
|
BUILD_CACHE: "--no-cache" # Включено кэширование слоев
|
||||||
|
BUILDAH_ISOLATION: chroot
|
||||||
|
before_script:
|
||||||
|
- env | sort
|
||||||
|
# - echo "$REGISTRY_PASSWORD" | base64 -d
|
||||||
|
script:
|
||||||
|
- |
|
||||||
|
if [[ -n "${CI_COMMIT_TAG}" && "${CI_COMMIT_TAG}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
export DOCKER_TAG=${REGISTRY_IMAGE}:${CI_COMMIT_TAG}
|
||||||
|
else
|
||||||
|
export DOCKER_TAG=${REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}
|
||||||
|
fi
|
||||||
|
- *buildah-login-stdin-base64
|
||||||
|
# - *buildah-build-push
|
||||||
|
- *buildah-build
|
||||||
|
- *buildah-push
|
||||||
|
- *buildah-logout
|
||||||
|
|
||||||
|
|
||||||
|
.buildah_retag:
|
||||||
|
stage: retag
|
||||||
|
image: sed-docker.artifacts.tn.tngrp.ru/buildah:v1.39.3-ca
|
||||||
|
variables:
|
||||||
|
REGISTRY: $CI_REGISTRY
|
||||||
|
REGISTRY_USER: $CI_REGISTRY_USER
|
||||||
|
REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
||||||
|
SOURCE_IMAGE:
|
||||||
|
TARGET_IMAGE:
|
||||||
|
BUILD_STORAGE_DRIVER: "--storage-driver=vfs" # По умолчанию vfs(совместимый с rootless-режимом). Возможные значения: vfs,overlay,btrfs,zfs
|
||||||
|
script:
|
||||||
|
- *buildah-login-stdin-base64
|
||||||
|
- *buildah-retag
|
||||||
|
- *buildah-logout
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user