This commit is contained in:
2026-09-08 18:40:00 +07:00
parent 03ff399a82
commit 39ca4a1a81
5 changed files with 1 additions and 122 deletions
Vendored
BIN
View File
Binary file not shown.
-16
View File
@@ -1,16 +0,0 @@
image: hub.realmanual.ru/images/docker
variables:
DOCKER_BASEIMAGE: ubuntu:20.04
DOCKER_MAINTAINER: vasyakrg@gmail.com
DOCKER_IMAGE_NAME: backup
BUILD_SCRIPT: ci/build-image/build.sh
GIT_SUBMODULE_STRATEGY: none
build:
script:
- git submodule sync
- git submodule update --init --remote --force
- export VERSION=$(cat VERSION)
- export DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME}
- export DOCKER_IMAGE_TAG=$VERSION
- chmod +x "${BUILD_SCRIPT}" && "./${BUILD_SCRIPT}"
+1 -1
View File
@@ -5,6 +5,6 @@ DOCKER_MAINTAINER=vasyakrg@gmail.com
docker buildx create --name cibuilder --driver docker-container --use
docker buildx build --progress=plain --platform linux/amd64,linux/arm64 --push -t hub.realmanual.ru/images/backup-2:$(cat VERSION) \
docker buildx build --progress=plain --platform linux/amd64,linux/arm64 --push -t git.realmanual.ru/pub/backup-2:$(cat VERSION) \
--build-arg DOCKER_BASEIMAGE=${DOCKER_BASEIMAGE} \
--build-arg DOCKER_MAINTAINER=${DOCKER_MAINTAINER} .
-76
View File
@@ -1,76 +0,0 @@
#!/bin/bash
set -e
if [[ -n "${BUILD_SCRIPT}" ]]; then SCRIPTS_PATH=${BUILD_SCRIPT%/*}; else SCRIPTS_PATH=ci/build/image; fi
DOCKER_BASEIMAGE=${DOCKER_BASEIMAGE:-ubuntu:18.04}
DOCKER_MAINTAINER=${DOCKER_MAINTAINER:-$GITLAB_USER_EMAIL}
DOCKER_MAINTAINER=${DOCKER_MAINTAINER:-service@ds.mlmsoft.cloud}
DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-${CI_PROJECT_PATH#*/}}
DOCKER_IMAGE_PREFIX=${DOCKER_IMAGE_PREFIX:-mlmsoft}
DOCKER_FILE=${DOCKER_FILE:-Dockerfile}
if [[ -z "${VERSION}" ]]; then
if [[ -f "VERSION" ]]; then VERSION=$(cat VERSION); else VERSION=latest; fi
fi
DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG:-$VERSION}
if [[ "${CI_COMMIT_REF_SLUG}" != "master" ]]; then
if [[ "${DOCKER_IMAGE_TAG}" == "latest" ]]; then TAG=''; else TAG="${DOCKER_IMAGE_TAG}_"; fi
echo TAG=${TAG}
if [[ -z "${DOCKER_NO_BRANCH_TAG}" ]]; then
DOCKER_IMAGE_TAG=${TAG}${CI_COMMIT_REF_SLUG}
echo Change DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG}
fi
fi
if [[ -n "${CI}" ]]; then
DOCKER_BUILD_CONTEXT=${DOCKER_BUILD_CONTEXT:-'.'}
elif [[ -f ${BASH_SOURCE[0]%/*}/.env ]]; then
source ${BASH_SOURCE[0]%/*}/.env
fi
BUILD_ARGS=()
for var in $@; do
[[ "${var}" =~ ^[a-zA-Z0-9+_-]+=.+$ ]] && BUILD_ARGS+=( --build-arg ${var} )
done
for (( i=0; i<10; i++ )); do
arg=DOCKER_ARG$i
[[ -n ${!arg} ]] && BUILD_ARGS+=( --build-arg ${!arg} )
done
[[ ${DOCKER_BASEIMAGE} != *:* ]] && DOCKER_BASEIMAGE=${DOCKER_BASEIMAGE}:${VERSION}
#[[ ${DOCKER_BASEIMAGE} == *:latest ]] && docker pull ${DOCKER_BASEIMAGE}
# Скачивание базового образа
if [[ -z ${DOCKER_NO_PULL_BASEIMAGE:+x} ]]; then
docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
docker pull ${DOCKER_BASEIMAGE}
fi
echo DOCKER_BASEIMAGE=${DOCKER_BASEIMAGE}
echo DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME}
echo DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG}
echo DOCKER_BUILD_CONTEXT=${DOCKER_BUILD_CONTEXT}
echo DOCKER_NO_BRANCH_TAG=${DOCKER_NO_BRANCH_TAG}
echo DOCKER_NO_PULL_BASEIMAGE=${DOCKER_NO_PULL_BASEIMAGE}
echo DOCKER_FILE=${DOCKER_FILE}
echo DOCKER_TAG_AS_LATEST=${DOCKER_TAG_AS_LATEST}
echo VERSION=${VERSION}
echo Building args: ${BUILD_ARGS[@]}
DOCKER_IMAGE=${DOCKER_IMAGE_PREFIX}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}
if ! docker build -f ${DOCKER_FILE} --build-arg DOCKER_BASEIMAGE=${DOCKER_BASEIMAGE} --build-arg DOCKER_MAINTAINER=${DOCKER_MAINTAINER} \
--build-arg VERSION=${VERSION} ${BUILD_ARGS[@]} --no-cache --force-rm -t ${DOCKER_IMAGE} ${DOCKER_BUILD_CONTEXT} ; then
# Remove all orphaned images after unsuccessfull build
docker image prune -f > /dev/null 2>&1
exit 1;
fi
#docker tag ${DOCKER_IMAGE_NAME} ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}
if [[ -n "${CI}" ]]; then
chmod +x "${SCRIPTS_PATH}/import.sh"
DOCKER_IMAGE=${DOCKER_IMAGE} "${SCRIPTS_PATH}/import.sh"
fi
-29
View File
@@ -1,29 +0,0 @@
#!/bin/bash
set -e
if [[ -n "${CI}" ]]; then
REGISTRY_USER=gitlab-ci-token
# REGISTRY_PASSWORD=${CI_JOB_TOKEN}
REGISTRY_URL=${CI_REGISTRY}
DOCKER_PROJECT=${CI_PROJECT_PATH}
REGISTRY_IMAGE=${DOCKER_IMAGE#*/}
[[ "${CI_PROJECT_PATH#*/}" == "${REGISTRY_IMAGE%:*}" ]] && DOCKER_PROJECT=${CI_PROJECT_PATH%/*}
elif [[ -f .env ]]; then
source ${BASH_SOURCE[0]%/*}/.env
CI_JOB_TOKEN=${REGISTRY_PASSWORD}
fi
echo DOCKER_IMAGE=${DOCKER_IMAGE}
echo DOCKER_PROJECT=${DOCKER_PROJECT}
docker login -u ${REGISTRY_USER} -p ${CI_JOB_TOKEN} ${REGISTRY_URL}
docker tag ${DOCKER_IMAGE} ${REGISTRY_URL}/${DOCKER_PROJECT}/${REGISTRY_IMAGE}
docker push ${REGISTRY_URL}/${DOCKER_PROJECT}/${REGISTRY_IMAGE}
if [[ -n "${DOCKER_TAG_AS_LATEST}" ]]; then
REGISTRY_IMAGE=${REGISTRY_IMAGE%:*}:latest
docker tag ${DOCKER_IMAGE} ${REGISTRY_URL}/${DOCKER_PROJECT}/${REGISTRY_IMAGE}
docker push ${REGISTRY_URL}/${DOCKER_PROJECT}/${REGISTRY_IMAGE}
fi