2023-01-06 18:36:34 +00:00
|
|
|
#! /bin/sh
|
2023-01-06 18:04:43 +00:00
|
|
|
|
|
|
|
IMAGE_PUSH="${1:---skip}"
|
|
|
|
|
2023-01-06 19:11:24 +00:00
|
|
|
IMAGE_NAME="${CI_PROJECT_PATH}-${IMAGE_SUFFIX}"
|
2023-01-06 20:25:11 +00:00
|
|
|
IMAGE_TAG="$(echo "${CI_COMMIT_TAG:-${CI_COMMIT_REF_SLUG}}" | sed -r 's/[^-_a-zA-Z0-9\\.]/-/g')-${IMAGE_ARCH}"
|
2023-01-06 18:04:43 +00:00
|
|
|
|
|
|
|
IMAGE_FULL="${IMAGE_NAME}:${IMAGE_TAG}"
|
2023-01-22 04:35:26 +00:00
|
|
|
IMAGE_MAIN="${IMAGE_NAME}:main-${IMAGE_ARCH}"
|
2023-01-06 18:04:43 +00:00
|
|
|
|
|
|
|
echo "Loading last image: ${IMAGE_FULL}"
|
|
|
|
|
2023-01-22 04:35:26 +00:00
|
|
|
docker pull "${IMAGE_FULL}" || docker pull "${IMAGE_MAIN}" || echo "Failed to load last image."
|
2023-01-06 18:04:43 +00:00
|
|
|
|
|
|
|
echo "Building image: ${IMAGE_FULL}"
|
|
|
|
|
2023-01-21 23:18:46 +00:00
|
|
|
docker build \
|
2023-01-22 04:35:26 +00:00
|
|
|
--cache-from "${IMAGE_MAIN}" \
|
2023-01-21 23:18:46 +00:00
|
|
|
--cache-from "${IMAGE_FULL}" \
|
|
|
|
-f "${IMAGE_FILE}" \
|
|
|
|
-t "${IMAGE_FULL}" . || { echo "Failed to build image!"; exit 1; }
|
2023-01-06 18:04:43 +00:00
|
|
|
|
|
|
|
if [[ "${IMAGE_PUSH}" == "--push" ]];
|
|
|
|
then
|
|
|
|
echo "Pushing image: ${IMAGE_FULL}"
|
|
|
|
docker push "${IMAGE_FULL}" || { echo "Failed to push image!"; exit 1; }
|
|
|
|
fi
|