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_CURRENT=rocho02.ddns.net/admin/cutlergyor:"$VERSION" TAG_REMOTE_LATEST=rocho02.ddns.net/admin/cutlergyor:latest docker build --tag cutlergyor:"$VERSION" -t "$TAG_REMOTE_CURRENT" -t "$TAG_REMOTE_LATEST" . docker push "$TAG_REMOTE"