From 73b30329e43e09004a7890ea299bfa2848ccc340 Mon Sep 17 00:00:00 2001 From: Naveen MR Date: Thu, 20 Jul 2023 11:22:07 +0100 Subject: [PATCH] chore : remove prev container & build --- build-local-docker-image.sh | 58 +++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/build-local-docker-image.sh b/build-local-docker-image.sh index 3869d86a82..221df1a666 100755 --- a/build-local-docker-image.sh +++ b/build-local-docker-image.sh @@ -1,19 +1,31 @@ #!/bin/bash -# script to build local docker image. +# script to build local docker image. # highlevel steps involved -# 1. build nocodb-sdk -# 2. build nc-gui -# 2a. static build of nc-gui -# 2b. copy nc-gui build to nocodb dir -# 3. build nocodb +# 1. Stop and remove existing container and image +# 2. Build nocodb-sdk +# 3. Build nc-gui +# 3a. static build of nc-gui +# 3b. copy nc-gui build to nocodb dir +# 4. Build nocodb SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) LOG_FILE=${SCRIPT_DIR}/build-local-docker-image.log ERROR="" +function stop_and_remove_container() { + # Stop and remove the existing container + docker stop nocodb-local >/dev/null 2>&1 + docker rm nocodb-local >/dev/null 2>&1 +} + +function remove_image() { + # Remove the existing image + docker rmi nocodb-local >/dev/null 2>&1 +} + function build_sdk(){ - #build nocodb-sdk - cd ${SCRIPT_DIR}/packages/nocodb-sdk + # build nocodb-sdk + cd ${SCRIPT_DIR}/packages/nocodb-sdk npm ci || ERROR="sdk build failed" npm run build || ERROR="sdk build failed" } @@ -22,55 +34,59 @@ function build_gui(){ # build nc-gui export NODE_OPTIONS="--max_old_space_size=16384" # generate static build of nc-gui - cd ${SCRIPT_DIR}/packages/nc-gui + cd ${SCRIPT_DIR}/packages/nc-gui npm ci || ERROR="gui build failed" npm run generate || ERROR="gui build failed" } function copy_gui_artifacts(){ - # copy nc-gui build to nocodb dir + # copy nc-gui build to nocodb dir rsync -rvzh --delete ./dist/ ${SCRIPT_DIR}/packages/nocodb/docker/nc-gui/ || ERROR="copy_gui_artifacts failed" } function package_nocodb(){ #build nocodb - # build nocodb ( pack nocodb-sdk and nc-gui ) - cd ${SCRIPT_DIR}/packages/nocodb + # build nocodb ( pack nocodb-sdk and nc-gui ) + cd ${SCRIPT_DIR}/packages/nocodb npm install || ERROR="package_nocodb failed" EE=true ./node_modules/.bin/webpack --config webpack.local.config.js || ERROR="package_nocodb failed" } function build_image(){ - # build docker + # build docker docker build . -f Dockerfile.local -t nocodb-local || ERROR="build_image failed" } function log_message(){ - if [[ ${ERROR} != "" ]]; + if [[ ${ERROR} != "" ]]; then >&2 echo "build failed, Please check build-local-docker-image.log for more details" - >&2 echo "ERROR: ${ERROR}" - exit 1 - else + >&2 echo "ERROR: ${ERROR}" + exit 1 + else echo 'docker image with tag "nocodb-local" built sussessfully. Use below sample command to run the container' echo 'docker run -d -p 3333:8080 --name nocodb-local nocodb-local ' fi } -echo "Info: Building nocodb-sdk" | tee ${LOG_FILE} +echo "Info: Stopping and removing existing container and image" | tee ${LOG_FILE} +stop_and_remove_container +remove_image + +echo "Info: Building nocodb-sdk" | tee -a ${LOG_FILE} build_sdk 1>> ${LOG_FILE} 2>> ${LOG_FILE} echo "Info: Building nc-gui" | tee -a ${LOG_FILE} build_gui 1>> ${LOG_FILE} 2>> ${LOG_FILE} -echo "Info: copy nc-gui build to nocodb dir" | tee -a ${LOG_FILE} +echo "Info: Copy nc-gui build to nocodb dir" | tee -a ${LOG_FILE} copy_gui_artifacts 1>> ${LOG_FILE} 2>> ${LOG_FILE} -echo "Info: build nocodb, package nocodb-sdk and nc-gui" | tee -a ${LOG_FILE} +echo "Info: Build nocodb, package nocodb-sdk and nc-gui" | tee -a ${LOG_FILE} package_nocodb 1>> ${LOG_FILE} 2>> ${LOG_FILE} if [[ ${ERROR} == "" ]]; then - echo "Info: building docker image" | tee -a ${LOG_FILE} + echo "Info: Building docker image" | tee -a ${LOG_FILE} build_image 1>> ${LOG_FILE} 2>> ${LOG_FILE} fi