.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