fitness-web/environments/cutlergyor/apache2/create-image.sh
2022-06-12 22:44:48 +02:00

75 lines
1.8 KiB
Bash

START_DIR=$(readlink -f .)
echo "START_DIR $START_DIR"
DATA_DIR="$START_DIR/data"
mkdir -p $DATA_DIR
echo "DATA_DIR $DATA_DIR"
PROJECT_DIR=$(readlink -f "$START_DIR/../../..")
echo "PROJECT_DIR $PROJECT_DIR"
PROJECT_DIRNAME=$(basename $PROJECT_DIR)
echo "PROJECT_DIRNAME $PROJECT_DIRNAME"
PROJECT_PARENT_DIR=$(readlink -f "$PROJECT_DIR/..")
echo "PROJECT_PARENT_DIR $PROJECT_PARENT_DIR"
PROJECT_VENDOR_DIRNAME="vendor"
PROJECT_VENDOR_DIR=$(readlink -f "$PROJECT_DIR""/""$PROJECT_VENDOR_DIRNAME")
echo "PROJECT_VENDOR_DIR $PROJECT_VENDOR_DIR"
echo "install npm i"
cd "$PROJECT_DIR"
npm i
echo "update version"
npm version patch
VERSION=$(cat "$PROJECT_DIR/package.json" | jq -r .version)
echo "VERSION $VERSION"
echo "git commit version"
git commit -m "set version $VERSION"
echo "git push version"
git push
TMP_DIR="/tmp"
ARCHIVE_FILE_APP=$TMP_DIR"/cutlerimagecontent.tar.gz"
ARCHIVE_FILE_VENDOR=$TMP_DIR"/cutlerimagevendor.tar.gz"
rm -f "$ARCHIVE_FILE_APP"
rm -f "$ARCHIVE_FILE_VENDOR"
cd "$PROJECT_DIR" || exit 1
echo archiving vendor
tar -czf $ARCHIVE_FILE_VENDOR \
"$PROJECT_VENDOR_DIRNAME"
echo "copy vendor archive into docker context"
cp "$ARCHIVE_FILE_VENDOR" "$DATA_DIR"
cd "$PROJECT_PARENT_DIR" || exit 1
echo "archiving project into tar"
tar -czf $ARCHIVE_FILE_APP \
--exclude "node_modules" \
--exclude ".git" \
--exclude ".idea" \
--exclude "docker" \
--exclude "docker" \
--exclude "doc" \
--exclude "test" \
--exclude "vendor" \
--exclude='*.log' \
--exclude='fitness_web/environments/cutlergyor/apache2/data' \
"$PROJECT_DIRNAME"
echo "copy archive into docker context"
cp "$ARCHIVE_FILE_APP" "$DATA_DIR"
echo "building image"
cd "$START_DIR" || exit 1
TAG_REMOTE=rocho02.ddns.net/admin/cutlergyor:"$VERSION"
docker build --tag cutlergyor:"$VERSION" -t "$TAG_REMOTE" .
docker push "$TAG_REMOTE"