2021-06-13 16:05:26 -04:00
|
|
|
#!/usr/bin/env bash
|
2021-06-02 22:39:06 -04:00
|
|
|
set -e
|
2022-04-03 19:35:44 -04:00
|
|
|
DOWNLOAD_DIR=${PWD}"/.temp"
|
|
|
|
|
WORKING_DIR=${PWD}"/chevereto"
|
2022-10-17 19:49:12 -03:00
|
|
|
PACKAGE=${VERSION}
|
2024-02-15 11:18:24 -03:00
|
|
|
if [ -z ${CHEVERETO_LICENSE_KEY+x} ]; then
|
|
|
|
|
echo -n "Chevereto V4 License key (for paid edition): 🔑"
|
|
|
|
|
read -s CHEVERETO_LICENSE_KEY
|
2023-01-12 09:19:35 -03:00
|
|
|
echo ""
|
|
|
|
|
fi
|
2022-04-03 19:35:44 -04:00
|
|
|
API_DOWNLOAD="https://chevereto.com/api/download/"
|
2024-02-15 11:18:24 -03:00
|
|
|
if [ -z ${CHEVERETO_LICENSE_KEY} ]; then
|
|
|
|
|
DOWNLOADING="FREE"
|
|
|
|
|
else
|
|
|
|
|
DOWNLOADING="PAID"
|
|
|
|
|
fi
|
2022-11-29 13:51:17 -03:00
|
|
|
echo " ..."
|
2024-02-15 11:18:24 -03:00
|
|
|
echo "* NOTE: Using [[ ${DOWNLOADING} ]] edition package"
|
2022-04-03 21:56:25 -04:00
|
|
|
rm -rf $DOWNLOAD_DIR $WORKING_DIR
|
2022-11-16 21:08:03 -03:00
|
|
|
mkdir -p $DOWNLOAD_DIR $WORKING_DIR
|
2022-04-03 21:56:25 -04:00
|
|
|
echo "* Downloading chevereto/v4 $PACKAGE package"
|
|
|
|
|
echo "> ${API_DOWNLOAD}${PACKAGE}"
|
|
|
|
|
cd $DOWNLOAD_DIR
|
|
|
|
|
curl -f -SOJL \
|
2024-02-15 11:18:24 -03:00
|
|
|
-H "License: $CHEVERETO_LICENSE_KEY" \
|
2022-04-03 21:56:25 -04:00
|
|
|
"${API_DOWNLOAD}${PACKAGE}"
|
2022-11-28 18:54:33 -03:00
|
|
|
ZIP_NAME=$(basename *.zip)
|
|
|
|
|
echo "* Extracting ${ZIP_NAME} package"
|
|
|
|
|
unzip -oq ${ZIP_NAME} -d $WORKING_DIR
|
2022-04-03 21:56:25 -04:00
|
|
|
rm -rf *.zip $DOWNLOAD_DIR
|
|
|
|
|
cd -
|
2022-11-16 21:08:03 -03:00
|
|
|
ls -lh $WORKING_DIR
|
2022-11-28 18:54:33 -03:00
|
|
|
if [[ ! $ZIP_NAME == chevereto_* ]]; then
|
|
|
|
|
ZIP_NAME=chevereto_${ZIP_NAME/.zip/_abcd.zip}
|
|
|
|
|
fi
|
2022-11-19 11:02:54 -03:00
|
|
|
VERSION_PATCH=$(echo "${ZIP_NAME}" | grep -oE "chevereto_([0-9\.]+)" | awk '{ print $1 }')
|
|
|
|
|
VERSION_PATCH=${VERSION_PATCH#"chevereto_"}
|
|
|
|
|
VERSION="$VERSION_PATCH"
|
|
|
|
|
VERSION="${VERSION#[vV]}"
|
|
|
|
|
VERSION_MAJOR="${VERSION%%\.*}"
|
|
|
|
|
VERSION_MINOR="${VERSION#*.}"
|
|
|
|
|
VERSION_MINOR="${VERSION_MINOR%.*}"
|
|
|
|
|
VERSION_PATCH="${VERSION##*.}"
|
|
|
|
|
TAG_MAJOR=${VERSION_MAJOR}
|
|
|
|
|
TAG_MINOR=${VERSION_MAJOR}.${VERSION_MINOR}
|
|
|
|
|
TAG_PATCH=${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}
|
|
|
|
|
TAGS=(latest ${TAG_MAJOR} ${TAG_MINOR} ${TAG_PATCH})
|
|
|
|
|
if [ ! "${VERSION}" = "latest" ]; then
|
|
|
|
|
unset TAGS[0]
|
|
|
|
|
fi
|
|
|
|
|
PRINT_TAGS=$(
|
|
|
|
|
IFS=","
|
|
|
|
|
echo "${TAGS[*]}"
|
|
|
|
|
)
|
2023-01-12 09:19:35 -03:00
|
|
|
echo "* Building image tags ${IMAGE_NAME}:{${PRINT_TAGS}}"
|
2022-11-19 11:02:54 -03:00
|
|
|
DOCKER_TAG_OPTIONS=
|
|
|
|
|
for tag in ${TAGS[@]}; do
|
2023-01-12 09:19:35 -03:00
|
|
|
DOCKER_TAG_OPTIONS="${DOCKER_TAG_OPTIONS} -t ${IMAGE_NAME}:$tag"
|
2022-11-19 11:02:54 -03:00
|
|
|
done
|
|
|
|
|
exec "$@" ${DOCKER_TAG_OPTIONS}
|