From 1cbbebff40c5c2745420d884129409b5419b638b Mon Sep 17 00:00:00 2001 From: oscar Date: Thu, 17 Mar 2022 21:28:40 +1300 Subject: [PATCH] support to choose export volume --- build_manager.sh | 64 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 20 deletions(-) diff --git a/build_manager.sh b/build_manager.sh index 5eeb376..43284c2 100755 --- a/build_manager.sh +++ b/build_manager.sh @@ -3,6 +3,7 @@ set -eu WORKDIR=/home/oscarzhou/source/github.com/portainer +GLOBAL_VOLUME=/home/oscarzhou/volumes TRUE=0; FALSE=1; @@ -13,7 +14,7 @@ ERROR_COLOR='\033[0;31m'; HIGHLIGHT_COLOR='\033[0;32m'; NO_COLOR='\033[0m'; -function is_ce_project() { +function choose_repo() { read -p "Choose the working project EE/(CE):" REPO if [ -z "$REPO" ]; then @@ -21,10 +22,10 @@ function is_ce_project() { fi if [[ "${REPO}" == "ee" || "${REPO}" == "EE" ]]; then - return $FALSE; + cd ${WORKDIR}/portainer-ee elif [[ "${REPO}" == "ce" || "${REPO}" == "CE" ]]; then - return $TRUE; + cd ${WORKDIR}/portainer fi } @@ -49,20 +50,41 @@ function check_branch() { return $TRUE; } -function export_volume() { - local VOLUME=~/volumes/portainer-ee-data - if is_ce_project; then - VOLUME=~/volumes/portainer-ce-data - cd ${WORKDIR}/portainer +function choose_export_volume() { + read -p "Choose the volume EE/CE/Temp-data(TD):" DEST + + if [ -z "$DEST" ]; then + DEST="EE"; + fi + + if [[ "${DEST}" == "ee" || "${DEST}" == "EE" ]]; then + VOLUME=~/volumes/portainer-ee-data + + elif [[ "${DEST}" == "ce" || "${DEST}" == "CE" ]]; then + VOLUME=~/volumes/portainer-ce-data + + elif [[ "${DEST}" == "td" || "${DEST}" == "TD" ]]; then + VOLUME=~/volumes/temp-data - else - cd ${WORKDIR}/portainer-ee fi export PORTAINER_DATA=${VOLUME} printf "${HIGHLIGHT_COLOR}export PORTAINER_DATA=${PORTAINER_DATA}${NO_COLOR}\n" } +function prepare_temporary_volume() { + printf "${HIGHLIGHT_COLOR}Prepare temporary data${NO_COLOR}\n" + + local VOLUME=~/volumes/temp-data + if [ -d ${VOLUME} ]; then + read -p "Do you want to clean up the existing data N/(Y)?" CLEAN_DATA + if [[ "${CLEAN_DATA}" == "y" || "${CLEAN_DATA}" == "Y" ]]; then + rm -rvf ${VOLUME}/* + fi + else + mkdir ${VOLUME} + fi +} function build_portainer_frontend_without_prompt() { printf "${HIGHLIGHT_COLOR}Build Portainer Frontend${NO_COLOR}\n" @@ -81,7 +103,7 @@ function build_portainer_backend_without_prompt() { } function build_portainer_frontend() { - export_volume + choose_repo if ! check_branch; then exit; @@ -92,7 +114,9 @@ function build_portainer_frontend() { } function build_portainer_backend() { - export_volume + choose_repo + + choose_export_volume if ! check_branch; then exit; @@ -104,7 +128,9 @@ function build_portainer_backend() { function build_portainer_all() { printf "${HIGHLIGHT_COLOR}Build Portainer all${NO_COLOR}\n" - export_volume + choose_repo + + choose_export_volume if ! check_branch; then exit; @@ -118,11 +144,7 @@ function build_portainer_all() { function run_before_commit() { printf "${HIGHLIGHT_COLOR}Run before commit${NO_COLOR}\n" - if is_ce_project; then - cd ${WORKDIR}/portainer - else - cd ${WORKDIR}/portainer-ee - fi + choose_repo if ! check_branch; then exit; @@ -135,8 +157,6 @@ function run_before_commit() { yarn lint } - - function menu() { PS3='Please select the option: ' OPTIONS=( @@ -144,6 +164,7 @@ function menu() { 'Build Portainer Frontend' 'Build Portainer Backend' 'Run Before Commit' + 'Prepare Temporary Volume' 'Quit' ) @@ -162,6 +183,9 @@ function menu() { 'Run Before Commit') run_before_commit ;; + 'Prepare Temporary Volume') + prepare_temporary_volume + ;; 'Quit') break ;;