Skip to content
Snippets Groups Projects
Verified Commit 99102f2c authored by Konrad Botor's avatar Konrad Botor
Browse files

Reworked docker build jobs - ref. hive#406

parent aef66465
No related branches found
No related tags found
1 merge request!3Rework of Docker build jobs
Pipeline #59057 passed
...@@ -15,7 +15,7 @@ stages: ...@@ -15,7 +15,7 @@ stages:
include: include:
- template: Workflows/Branch-Pipelines.gitlab-ci.yml - template: Workflows/Branch-Pipelines.gitlab-ci.yml
- local: templates/data_image_jobs.gitlab-ci.yml - local: templates/docker_jobs.gitlab-ci.yml
- local: templates/test_jobs.gitlab-ci.yml - local: templates/test_jobs.gitlab-ci.yml
.validation_job: .validation_job:
...@@ -74,11 +74,12 @@ lint_python_scripts: ...@@ -74,11 +74,12 @@ lint_python_scripts:
junit: pylint-junit-result.xml junit: pylint-junit-result.xml
.build_docker_image: .build_docker_image:
extends: .docker_image_builder_job extends: .docker_image_builder_job_template
image: docker:20.10.21 image: docker:20.10.21
variables: variables:
BUILD_TARGET: "" BUILD_TARGET: ""
before_script: before_script:
- !reference [.docker_image_builder_job_template, before_script]
- | - |
echo -e "\e[0Ksection_start:$(date +%s):login[collapsed=true]\r\e[0KLogging to Docker registry..." echo -e "\e[0Ksection_start:$(date +%s):login[collapsed=true]\r\e[0KLogging to Docker registry..."
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
...@@ -95,41 +96,30 @@ lint_python_scripts: ...@@ -95,41 +96,30 @@ lint_python_scripts:
fi fi
echo -e "\e[0Ksection_end:$(date +%s):tag\r\e[0K" echo -e "\e[0Ksection_end:$(date +%s):tag\r\e[0K"
echo -e "\e[0Ksection_start:$(date +%s):build[collapsed=true]\r\e[0KBaking image "$CI_REGISTRY_IMAGE/$BUILD_TARGET:${tag}"..." echo -e "\e[0Ksection_start:$(date +%s):build[collapsed=true]\r\e[0KBaking image "$CI_REGISTRY_IMAGE/$BUILD_TARGET:${tag}"..."
docker context create builder-context docker buildx bake --progress=plain --push "$BUILD_TARGET"
docker buildx create --driver docker-container --name docker-container-builder builder-context
docker buildx bake --progress=plain --builder docker-container-builder --push "$BUILD_TARGET"
echo -e "\e[0Ksection_end:$(date +%s):build\r\e[0K" echo -e "\e[0Ksection_end:$(date +%s):build\r\e[0K"
needs:
- build_docker_dind_image
tags: tags:
- public-runner-docker - public-runner-docker
build_docker_dind_image: build_docker_dind_image:
extends: .build_docker_image
stage: pre-build stage: pre-build
image: docker:20.10.21
variables: variables:
DOCKER_BUILDKIT: 1
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs"
BUILD_TARGET: "docker-dind" BUILD_TARGET: "docker-dind"
before_script:
- !reference [.build_docker_image, before_script]
script:
- !reference [.build_docker_image, script]
rules: rules:
- if: $CI_COMMIT_BRANCH - if: $CI_COMMIT_BRANCH
exists: exists:
- Dockerfile.docker-dind - Dockerfile.docker-dind
services: services:
- docker:20.10.21-dind - docker:20.10.21-dind
tags:
- public-runner-docker
build_docker_builder_image: build_docker_builder_image:
extends: .build_docker_image extends: .build_docker_image
stage: build stage: build
variables: variables:
BUILD_TARGET: "docker-builder" BUILD_TARGET: "docker-builder"
needs:
- build_docker_dind_image
rules: rules:
- if: $CI_COMMIT_BRANCH - if: $CI_COMMIT_BRANCH
exists: exists:
...@@ -140,6 +130,8 @@ build_image_remover_image: ...@@ -140,6 +130,8 @@ build_image_remover_image:
stage: build stage: build
variables: variables:
BUILD_TARGET: "image-remover" BUILD_TARGET: "image-remover"
needs:
- build_docker_dind_image
rules: rules:
- if: $CI_COMMIT_BRANCH - if: $CI_COMMIT_BRANCH
exists: exists:
...@@ -150,6 +142,8 @@ build_benchmark_test_runner_image: ...@@ -150,6 +142,8 @@ build_benchmark_test_runner_image:
stage: build stage: build
variables: variables:
BUILD_TARGET: "benchmark-test-runner" BUILD_TARGET: "benchmark-test-runner"
needs:
- build_docker_dind_image
rules: rules:
- if: $CI_COMMIT_BRANCH - if: $CI_COMMIT_BRANCH
exists: exists:
...@@ -160,39 +154,27 @@ build_tox_test_runner_image: ...@@ -160,39 +154,27 @@ build_tox_test_runner_image:
stage: build stage: build
variables: variables:
BUILD_TARGET: "tox-test-runner" BUILD_TARGET: "tox-test-runner"
needs:
- build_docker_dind_image
rules: rules:
- if: $CI_COMMIT_BRANCH - if: $CI_COMMIT_BRANCH
exists: exists:
- Dockerfile.tox-test-runner - Dockerfile.tox-test-runner
prepare_example_hived_data_5m_image: example_docker_image_builder_job:
extends: .prepare_hived_data_5m_image extends: .docker_image_builder_job_template
stage: example-build stage: example-build
variables:
REGISTRY_USER: "$CI_REGISTRY_USER"
REGISTRY_PASS: "$CI_REGISTRY_PASSWORD"
REGISTRY_URL: "registry.gitlab.syncad.com/hive/common-ci-configuration/hive/"
before_script: before_script:
- LOG_FILE=tmp.log source /usr/local/bin/common.sh - !reference [.build_docker_image, before_script]
- do_clone_commit 9f39eae9ef35642445ae63e8c0a681f1376334ed $SUBDIRECTORY $REPOSITORY_URL script:
after_script: - |
- cat docker_image_name.env docker buildx build --progress=plain --push \
when: manual --cache-from type=registry,ref=$CI_REGISTRY_IMAGE/alpine-example:latest-cache \
tags: --cache-to type=registry,mode=max,ref=$CI_REGISTRY_IMAGE/alpine-example:latest-cache \
- public-runner-docker --tag $CI_REGISTRY_IMAGE/alpine-example:latest \
https://github.com/alpinelinux/docker-alpine.git
prepare_example_haf_data_5m_image: needs:
extends: .prepare_haf_data_5m_image - build_docker_dind_image
stage: example-build
variables:
REGISTRY_USER: "$CI_REGISTRY_USER"
REGISTRY_PASS: "$CI_REGISTRY_PASSWORD"
REGISTRY_URL: "registry.gitlab.syncad.com/hive/common-ci-configuration/haf/"
before_script:
- LOG_FILE=tmp.log source /usr/local/bin/common.sh
- do_clone_commit c21bdf1937c1cbd2781aa86816f159285a1909bf $SUBDIRECTORY $REPOSITORY_URL
after_script:
- cat docker_image_name.env
when: manual when: manual
tags: tags:
- public-runner-docker - public-runner-docker
...@@ -232,28 +214,15 @@ example_tox_test_job: ...@@ -232,28 +214,15 @@ example_tox_test_job:
tags: tags:
- public-runner-docker - public-runner-docker
example_hived_data_image_cleanup: example_image_cleanup_job:
extends: .docker_image_cleanup_job extends: .docker_image_cleanup_job_template
stage: example-cleanup
variables:
REGISTRY_PASS: "$REGISTRY_PASS"
IMAGE_PATH: $HIVED_IMAGE_NAME_REGISTRY_PATH
IMAGE_TAG: $HIVED_IMAGE_NAME_REGISTRY_TAG
needs:
- prepare_example_hived_data_5m_image
when: manual
tags:
- public-runner-docker
example_haf_data_image_cleanup:
extends: .docker_image_cleanup_job
stage: example-cleanup stage: example-cleanup
variables: variables:
REGISTRY_PASS: "$REGISTRY_PASS" REGISTRY_PASS: "$REGISTRY_PASS"
IMAGE_PATH: $HAF_IMAGE_NAME_REGISTRY_PATH IMAGE_PATH: $CI_REGISTRY_IMAGE/alpine-example
IMAGE_TAG: $HAF_IMAGE_NAME_REGISTRY_TAG IMAGE_TAG: latest
needs: needs:
- prepare_example_haf_data_5m_image - example_docker_image_builder_job
when: manual when: manual
tags: tags:
- public-runner-docker - public-runner-docker
\ No newline at end of file
FROM docker:20.10.21 AS docker-builder FROM docker:20.10.21 AS docker-builder
COPY scripts/bash/*.sh /usr/local/bin
RUN apk add --no-cache bash git ca-certificates curl RUN apk add --no-cache bash git ca-certificates curl
\ No newline at end of file
#! /bin/bash
# shellcheck source-path=SCRIPTDIR
SCRIPTPATH=$(realpath "$0")
SCRIPTDIR=$(dirname "$SCRIPTPATH")
export LOG_FILE=build_data.log
source "$SCRIPTDIR/common.sh"
echo -e "\e[0Ksection_start:$(date +%s):input_processing[collapsed=true]\r\e[0KChecking build-data.sh script input..."
BUILD_IMAGE_TAG=${1:?"Missing argument #1: build image tag"}
shift
SRCROOTDIR=${1:?"Missing argument #2: source directory"}
shift
REGISTRY=${1:?"Missing argument #3: target image registry"}
shift
# Supplement a registry path by trailing slash (if needed)
[[ "${REGISTRY}" != */ ]] && REGISTRY="${REGISTRY}/"
BUILD_HIVE_TESTNET=OFF
HIVE_CONVERTER_BUILD=OFF
echo -e "\e[0Ksection_end:$(date +%s):input_processing\r\e[0K"
"$SCRIPTDIR/build-instance.sh" "${BUILD_IMAGE_TAG}" "${SRCROOTDIR}" "${REGISTRY}" "$@"
echo -e "\e[0Ksection_start:$(date +%s):data_image_docker_build[collapsed=true]\r\e[0KBuilding data image..."
echo "Instance image built. Attempting to build a data image based on it..."
pushd "$SRCROOTDIR" ||exit 1
docker build --target=data \
--build-arg CI_REGISTRY_IMAGE="$REGISTRY" \
--build-arg BUILD_HIVE_TESTNET=$BUILD_HIVE_TESTNET \
--build-arg HIVE_CONVERTER_BUILD=$HIVE_CONVERTER_BUILD \
--build-arg BUILD_IMAGE_TAG="$BUILD_IMAGE_TAG" \
-t "${REGISTRY}data:data-${BUILD_IMAGE_TAG}" -f Dockerfile .
popd || exit 1
echo -e "\e[0Ksection_end:$(date +%s):data_image_docker_build\r\e[0K"
\ No newline at end of file
#! /bin/bash
# shellcheck source-path=SCRIPTDIR
SCRIPTPATH=$(realpath "$0")
SCRIPTDIR=$(dirname "$SCRIPTPATH")
export LOG_FILE=build_data4commit.log
source "$SCRIPTDIR/common.sh"
echo -e "\e[0Ksection_start:$(date +%s):input_processing[collapsed=true]\r\e[0KChecking build-data4commit.sh script input..."
COMMIT=${1:?"Missing argument #1: commit SHA"}
shift
REGISTRY=${1:?"Missing argument #2: target image registry"}
shift
REPOSITORY=${1:?"Missing argument #3: repository URL"}
shift
BRANCH="master"
BUILD_IMAGE_TAG=$COMMIT
readarray -d "/" -t REPOSITORY_URL_ARRAY <<< "$REPOSITORY"
REPOSITORY_ARRAY_LENGTH=${#REPOSITORY_URL_ARRAY[*]}
readarray -d "." -t SPLIT_REPOSITORY_NAME <<< "${REPOSITORY_URL_ARRAY[$REPOSITORY_ARRAY_LENGTH-1]}"
PROJECT_NAME=${SPLIT_REPOSITORY_NAME[0]}
echo -e "\e[0Ksection_end:$(date +%s):input_processing\r\e[0K"
echo -e "\e[0Ksection_start:$(date +%s):cloning[collapsed=true]\r\e[0KCloning repository $REPOSITORY into directory ${PROJECT_NAME}-${COMMIT}..."
do_clone "$BRANCH" "./${PROJECT_NAME}-${COMMIT}" "$REPOSITORY" "$COMMIT"
echo -e "\e[0Ksection_end:$(date +%s):cloning\r\e[0K"
"$SCRIPTDIR/build-data.sh" "$BUILD_IMAGE_TAG" "./${PROJECT_NAME}-${COMMIT}" "$REGISTRY" "$@"
#! /bin/bash
# shellcheck source-path=SCRIPTDIR
SCRIPTPATH=$(realpath "$0")
SCRIPTDIR=$(dirname "$SCRIPTPATH")
export LOG_FILE=build_instance.log
source "$SCRIPTDIR/common.sh"
BUILD_IMAGE_TAG=""
REGISTRY=""
SRCROOTDIR=""
IMAGE_TAG_PREFIX=""
BUILD_HIVE_TESTNET=OFF
HIVE_CONVERTER_BUILD=OFF
print_help () {
echo "Usage: $0 <image_tag> <src_dir> <registry_url> [OPTION[=VALUE]]..."
echo
echo "Allows to build docker image containing Hived installation"
echo "OPTIONS:"
echo " --network-type=TYPE Allows to specify type of blockchain network supported by built hived. Allowed values: mainnet, testnet, mirrornet"
echo " --export-binaries=PATH Allows to specify a path where binaries shall be exported from built image."
echo " --help Display this help screen and exit"
echo
}
EXPORT_PATH=""
echo -e "\e[0Ksection_start:$(date +%s):input_processing[collapsed=true]\r\e[0KChecking build-instance.sh script input..."
while [ $# -gt 0 ]; do
case "$1" in
--network-type=*)
type="${1#*=}"
case $type in
"testnet"*)
BUILD_HIVE_TESTNET=ON
IMAGE_TAG_PREFIX=testnet-
;;
"mirrornet"*)
BUILD_HIVE_TESTNET=OFF
HIVE_CONVERTER_BUILD=ON
IMAGE_TAG_PREFIX=mirror-
;;
"mainnet"*)
BUILD_HIVE_TESTNET=OFF
HIVE_CONVERTER_BUILD=OFF
IMAGE_TAG_PREFIX=
;;
*)
echo "ERROR: '$type' is not a valid network type"
echo
exit 3
esac
;;
--export-binaries=*)
arg="${1#*=}"
EXPORT_PATH="$arg"
;;
--help)
print_help
exit 0
;;
*)
if [ -z "$BUILD_IMAGE_TAG" ];
then
BUILD_IMAGE_TAG="${1}"
elif [ -z "$SRCROOTDIR" ];
then
SRCROOTDIR="${1}"
elif [ -z "$REGISTRY" ];
then
REGISTRY=${1}
else
echo "ERROR: '$1' is not a valid option/positional argument"
echo
print_help
exit 2
fi
;;
esac
shift
done
[[ -z "$BUILD_IMAGE_TAG" ]] && echo "Missing argument #1: build image tag." && exit 1
[[ -z "$SRCROOTDIR" ]] && echo "Missing argument #2: source directory. Exiting." && exit 1
[[ -z "$REGISTRY" ]] && echo "Missing argument #3: target image registry. Exiting." && exit 1
echo -e "\e[0Ksection_end:$(date +%s):input_processing\r\e[0K"
echo -e "\e[0Ksection_start:$(date +%s):base_instance_image_docker_build[collapsed=true]\r\e[0KBuilding base instance image..."
# Supplement a registry path by trailing slash (if needed)
[[ "${REGISTRY}" != */ ]] && REGISTRY="${REGISTRY}/"
echo "Moving into source root directory: ${SRCROOTDIR}"
pushd "$SRCROOTDIR" || exit 1
export DOCKER_BUILDKIT=1
docker build --target=base_instance \
--build-arg CI_REGISTRY_IMAGE="$REGISTRY" \
--build-arg BUILD_HIVE_TESTNET=$BUILD_HIVE_TESTNET \
--build-arg HIVE_CONVERTER_BUILD=$HIVE_CONVERTER_BUILD \
--build-arg BUILD_IMAGE_TAG="$BUILD_IMAGE_TAG" \
-t "${REGISTRY}base_instance:base_instance-${BUILD_IMAGE_TAG}" \
-f Dockerfile .
echo -e "\e[0Ksection_end:$(date +%s):base_instance_image_docker_build\r\e[0K"
echo -e "\e[0Ksection_start:$(date +%s):instance_image_docker_build[collapsed=true]\r\e[0KBuilding instance image..."
# Build the image containing only binaries and be ready to start running hived instance, operating on mounted volumes pointing instance datadir and shm_dir
docker build --target=instance \
--build-arg CI_REGISTRY_IMAGE="$REGISTRY" \
--build-arg BUILD_HIVE_TESTNET=$BUILD_HIVE_TESTNET \
--build-arg HIVE_CONVERTER_BUILD=$HIVE_CONVERTER_BUILD \
--build-arg BUILD_IMAGE_TAG="$BUILD_IMAGE_TAG" \
-t "${REGISTRY}${IMAGE_TAG_PREFIX}instance:instance-${BUILD_IMAGE_TAG}" \
-f Dockerfile .
popd || exit 1
echo -e "\e[0Ksection_end:$(date +%s):instance_image_docker_build\r\e[0K"
if [ -n "${EXPORT_PATH}" ] ;
then
"$SCRIPTDIR/export-binaries.sh" "${REGISTRY}${IMAGE_TAG_PREFIX}instance:instance-${BUILD_IMAGE_TAG}" "${EXPORT_PATH}"
fi
#! /bin/bash #! /bin/bash
set -euo pipefail set -euo pipefail
exec > >(tee "${LOG_FILE}") 2>&1
log_exec_params() { log_exec_params() {
echo echo
......
#! /bin/bash
set -euo pipefail
echo -e "\e[0Ksection_start:$(date +%s):binaries_export[collapsed=true]\r\e[0KExporting binaries..."
IMAGE_TAGGED_NAME=${1:-"Missing image name"}
EXPORT_PATH=${2:-"Missing export target directory"}
echo "Attempting to export built binaries from image: ${IMAGE_TAGGED_NAME} into directory: ${EXPORT_PATH}"
export DOCKER_BUILDKIT=1
docker build -o "${EXPORT_PATH}" - << EOF
FROM scratch
COPY --from=${IMAGE_TAGGED_NAME} /home/hived/bin/ /
EOF
echo -e "\e[0Ksection_end:$(date +%s):binaries_export\r\e[0K"
\ No newline at end of file
#! /bin/bash
# shellcheck source-path=SCRIPTDIR
set -euo pipefail
SCRIPTPATH=$(realpath "$0")
SCRIPTDIR=$(dirname "$SCRIPTPATH")
IMGNAME="data"
source "$SCRIPTDIR/docker-image-utils.sh"
echo -e "\e[0Ksection_start:$(date +%s):input_check[collapsed=true]\r\e[0KChecking get-image4submodule.sh script input..."
SUBMODULE_PATH=${1:?"Missing argument #1: submodule path"}
shift
REGISTRY=${1:?"Missing argument #2: image registry"}
shift
DOTENV_VAR_NAME=${1:?"Missing argument #3: dot-env name"}
shift
REGISTRY_USER=${1:?"Missing argument #4: registry user"}
shift
REGISTRY_PASSWORD=${1:?"Missing argument #5: registry password"}
shift
BINARY_CACHE_PATH=${1:?"Missing argument #6: binary cache path"}
shift
REPOSITORY=${1:?"Missing argument #7: repository URL"}
shift
echo -e "\e[0Ksection_end:$(date +%s):input_check\r\e[0K"
retrieve_submodule_commit () {
local -r p="${1}"
pushd "$p" >/dev/null 2>&1
local -r commit=$( git rev-parse HEAD )
popd >/dev/null 2>&1
echo "$commit"
}
echo -e "\e[0Ksection_start:$(date +%s):retrieve_submodule_commit[collapsed=true]\r\e[0KRetrieving submodule commit..."
echo "Attempting to get commit for: $SUBMODULE_PATH"
commit=$( retrieve_submodule_commit "${SUBMODULE_PATH}" )
img=$( build_image_name $IMGNAME "$commit" "$REGISTRY" )
img_path=$( build_image_registry_path $IMGNAME "$commit" "$REGISTRY" )
img_tag=$( build_image_registry_tag $IMGNAME "$commit" "$REGISTRY" )
echo -e "\e[0Ksection_end:$(date +%s):retrieve_submodule_commit\r\e[0K"
echo -e "\e[0Ksection_start:$(date +%s):docker_login[collapsed=true]\r\e[0KLogging in to Docker repository..."
echo "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USER" "$REGISTRY" --password-stdin
echo -e "\e[0Ksection_end:$(date +%s):docker_login\r\e[0K"
echo -e "\e[0Ksection_start:$(date +%s):image_exists[collapsed=true]\r\e[0KChecking if image exists..."
image_exists=0
docker_image_exists "$IMGNAME" "$commit" "$REGISTRY" image_exists
echo -e "\e[0Ksection_end:$(date +%s):image_exists\r\e[0K"
if [ "$image_exists" -eq 1 ];
then
echo "Image already exists..."
"$SCRIPTDIR/export-binaries.sh" "${img}" "${BINARY_CACHE_PATH}"
else
# Here continue an image build.
echo "Image ${img} is missing. Building it..."
"$SCRIPTDIR/build-data4commit.sh" "$commit" "$REGISTRY" "$REPOSITORY" --export-binaries="${BINARY_CACHE_PATH}"
echo -e "\e[0Ksection_start:$(date +%s):image_push[collapsed=true]\r\e[0KPusing data image to Docker repository..."
time docker push "$img"
echo -e "\e[0Ksection_end:$(date +%s):image_push\r\e[0K"
fi
echo -e "\e[0Ksection_start:$(date +%s):dot_env[collapsed=true]\r\e[0KGenerating dotenv file..."
echo "$DOTENV_VAR_NAME=$img" > docker_image_name.env
echo "${DOTENV_VAR_NAME}_REGISTRY_PATH=$img_path" >> docker_image_name.env
echo "${DOTENV_VAR_NAME}_REGISTRY_TAG=$img_tag" >> docker_image_name.env
cat docker_image_name.env
echo -e "\e[0Ksection_end:$(date +%s):dot_env\r\e[0K"
\ No newline at end of file
...@@ -3,18 +3,28 @@ variables: ...@@ -3,18 +3,28 @@ variables:
DOCKER_DIND_TAG: "latest" DOCKER_DIND_TAG: "latest"
IMAGE_REMOVER_TAG: "latest" IMAGE_REMOVER_TAG: "latest"
.docker_image_builder_job: .artifact_policy:
artifacts:
when: always
expire_in: 6 hours
.docker_image_builder_job_template:
variables: variables:
DOCKER_BUILDKIT: 1
DOCKER_DRIVER: overlay2 DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs" DOCKER_TLS_CERTDIR: "/certs"
image: registry.gitlab.syncad.com/hive/common-ci-configuration/docker-builder:${DOCKER_BUILDER_TAG} image: registry.gitlab.syncad.com/hive/common-ci-configuration/docker-builder:${DOCKER_BUILDER_TAG}
interruptible: true interruptible: true
before_script:
- |
echo -e "\e[0Ksection_start:$(date +%s):buildkit_config[collapsed=true]\r\e[0KConfiguring Docker BuildKit..."
docker context create builder-context
docker buildx create --driver docker-container --name docker-container-builder --use builder-context
echo -e "\e[0Ksection_end:$(date +%s):buildkit_config\r\e[0K"
services: services:
- name: registry.gitlab.syncad.com/hive/common-ci-configuration/docker-dind:${DOCKER_DIND_TAG} - name: registry.gitlab.syncad.com/hive/common-ci-configuration/docker-dind:${DOCKER_DIND_TAG}
alias: docker alias: docker
.docker_image_cleanup_job: .docker_image_cleanup_job_template:
image: registry.gitlab.syncad.com/hive/common-ci-configuration/image-remover:${IMAGE_REMOVER_TAG} image: registry.gitlab.syncad.com/hive/common-ci-configuration/image-remover:${IMAGE_REMOVER_TAG}
interruptible: true interruptible: true
variables: variables:
...@@ -26,46 +36,3 @@ variables: ...@@ -26,46 +36,3 @@ variables:
- echo "Attempting to cleanup an image $IMAGE_PATH using tag $IMAGE_TAG from $REGISTRY" - echo "Attempting to cleanup an image $IMAGE_PATH using tag $IMAGE_TAG from $REGISTRY"
- python /delete-image.py "$REGISTRY_PASS" "$CI_PROJECT_ID" "$IMAGE_PATH" "$IMAGE_TAG" - python /delete-image.py "$REGISTRY_PASS" "$CI_PROJECT_ID" "$IMAGE_PATH" "$IMAGE_TAG"
when: always when: always
.prepare_data_5m_image:
extends: .docker_image_builder_job
variables:
DOTENV_NAME: ""
REGISTRY_USER: "$CI_IMG_BUILDER_USER"
REGISTRY_PASS: "$CI_IMG_BUILDER_PASSWORD"
REGISTRY_URL: ""
REPOSITORY_URL: ""
SUBDIRECTORY: ""
script:
- |
get-image4submodule.sh "$SUBDIRECTORY" \
"$REGISTRY_URL" \
"$DOTENV_NAME" \
"$REGISTRY_USER" \
"$REGISTRY_PASS" \
"hived-mainnet-binaries" \
"$REPOSITORY_URL"
- ls -la ./hived-mainnet-binaries/*
artifacts:
reports:
dotenv: docker_image_name.env
paths:
- ./hived-mainnet-binaries/*
expire_in: 6 hours
when: always
.prepare_hived_data_5m_image:
extends: .prepare_data_5m_image
variables:
DOTENV_NAME: "HIVED_IMAGE_NAME"
REGISTRY_URL: "registry.gitlab.syncad.com/hive/hive/"
REPOSITORY_URL: "https://gitlab.syncad.com/hive/hive.git"
SUBDIRECTORY: "hive"
.prepare_haf_data_5m_image:
extends: .prepare_data_5m_image
variables:
DOTENV_NAME: "HAF_IMAGE_NAME"
REGISTRY_URL: "registry.gitlab.syncad.com/hive/haf/"
REPOSITORY_URL: "https://gitlab.syncad.com/hive/haf.git"
SUBDIRECTORY: "haf"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment