Trove enable the upgrade command
This commit is contained in:
parent
f3d0649b4f
commit
d8d8612336
|
@ -555,6 +555,21 @@ function git_clone {
|
||||||
git clone "$repo_url" "$destination_dir"
|
git clone "$repo_url" "$destination_dir"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function git_pull {
|
||||||
|
git stash
|
||||||
|
if [ "${FRIENDS_TROVE_SERVER}" ]; then
|
||||||
|
if [ ${#FRIENDS_TROVE_SERVER} -gt 2 ]; then
|
||||||
|
if [ "$FRIENDS_TROVE_PASSWORD" ]; then
|
||||||
|
if [ ${#FRIENDS_TROVE_PASSWORD} -gt 2 ]; then
|
||||||
|
sshpass -p "$FRIENDS_TROVE_PASSWORD" git pull
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
git pull
|
||||||
|
}
|
||||||
|
|
||||||
function create_database {
|
function create_database {
|
||||||
app_name="$1"
|
app_name="$1"
|
||||||
app_admin_password="$2"
|
app_admin_password="$2"
|
||||||
|
@ -956,7 +971,6 @@ function read_repo_servers {
|
||||||
do
|
do
|
||||||
repo_name=$(echo "$line" | awk -F '=' '{print $1}')
|
repo_name=$(echo "$line" | awk -F '=' '{print $1}')
|
||||||
trove_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
|
trove_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
|
||||||
#repo_url=$(echo "$line" | awk -F '=' '{print $2}' | awk -F '"' '{print $2}')
|
|
||||||
friends_repo_url="ssh://trove@${FRIENDS_TROVE_SERVER}:${FRIENDS_TROVE_SSH_PORT}/home/trove/${trove_name}"
|
friends_repo_url="ssh://trove@${FRIENDS_TROVE_SERVER}:${FRIENDS_TROVE_SSH_PORT}/home/trove/${trove_name}"
|
||||||
${repo_name}="${friends_repo_url}"
|
${repo_name}="${friends_repo_url}"
|
||||||
done
|
done
|
||||||
|
|
|
@ -37,6 +37,81 @@ CONFIGURATION_FILE="/root/${PROJECT_NAME}.cfg"
|
||||||
|
|
||||||
PROJECT_REPO="https://github.com/bashrc/${PROJECT_NAME}"
|
PROJECT_REPO="https://github.com/bashrc/${PROJECT_NAME}"
|
||||||
|
|
||||||
|
FRIENDS_TROVE_SERVER=
|
||||||
|
FRIENDS_TROVE_SSH_PORT=
|
||||||
|
FRIENDS_TROVE_PASSWORD=
|
||||||
|
MY_TROVE_PASSWORD=
|
||||||
|
|
||||||
|
function read_repo_servers {
|
||||||
|
if grep -q "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE; then
|
||||||
|
FRIENDS_TROVE_SERVER=$(grep "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
|
fi
|
||||||
|
if grep -q "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE; then
|
||||||
|
FRIENDS_TROVE_SSH_PORT=$(grep "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
|
fi
|
||||||
|
if grep -q "MY_TROVE_PASSWORD" $CONFIGURATION_FILE; then
|
||||||
|
MY_TROVE_PASSWORD=$(grep "MY_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
|
fi
|
||||||
|
if grep -q "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE; then
|
||||||
|
FRIENDS_TROVE_PASSWORD=$(grep "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! $FRIENDS_TROVE_SERVER ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if [ ${#FRIENDS_TROVE_SERVER} -lt 2 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
|
||||||
|
if [ ! -f $MAIN_COMMAND ]; then
|
||||||
|
MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
|
||||||
|
|
||||||
|
for line in "${REPOS[@]}"
|
||||||
|
do
|
||||||
|
repo_name=$(echo "$line" | awk -F '=' '{print $1}')
|
||||||
|
trove_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
|
||||||
|
friends_repo_url="ssh://trove@${FRIENDS_TROVE_SERVER}:${FRIENDS_TROVE_SSH_PORT}/home/trove/${trove_name}"
|
||||||
|
${repo_name}="${friends_repo_url}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function git_clone {
|
||||||
|
repo_url="$1"
|
||||||
|
destination_dir="$2"
|
||||||
|
if [[ "$repo_url" == "ssh:"* ]]; then
|
||||||
|
if [ "${FRIENDS_TROVE_SERVER}" ]; then
|
||||||
|
if [ ${#FRIENDS_TROVE_SERVER} -gt 2 ]; then
|
||||||
|
if [ "$FRIENDS_TROVE_PASSWORD" ]; then
|
||||||
|
if [ ${#FRIENDS_TROVE_PASSWORD} -gt 2 ]; then
|
||||||
|
sshpass -p "$FRIENDS_TROVE_PASSWORD" git clone "$repo_url" "$destination_dir"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
git clone "$repo_url" "$destination_dir"
|
||||||
|
}
|
||||||
|
|
||||||
|
function git_pull {
|
||||||
|
git stash
|
||||||
|
if [ "${FRIENDS_TROVE_SERVER}" ]; then
|
||||||
|
if [ ${#FRIENDS_TROVE_SERVER} -gt 2 ]; then
|
||||||
|
if [ "$FRIENDS_TROVE_PASSWORD" ]; then
|
||||||
|
if [ ${#FRIENDS_TROVE_PASSWORD} -gt 2 ]; then
|
||||||
|
sshpass -p "$FRIENDS_TROVE_PASSWORD" git pull
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
git pull
|
||||||
|
}
|
||||||
|
|
||||||
if [ -f $CONFIGURATION_FILE ]; then
|
if [ -f $CONFIGURATION_FILE ]; then
|
||||||
# read the location of the main project repo
|
# read the location of the main project repo
|
||||||
if grep -q "PROJECT_REPO" $CONFIGURATION_FILE; then
|
if grep -q "PROJECT_REPO" $CONFIGURATION_FILE; then
|
||||||
|
@ -46,15 +121,16 @@ fi
|
||||||
|
|
||||||
update-ca-certificates
|
update-ca-certificates
|
||||||
|
|
||||||
|
read_repo_servers
|
||||||
|
|
||||||
if [ ! -d $PROJECT_DIR ]; then
|
if [ ! -d $PROJECT_DIR ]; then
|
||||||
git clone $PROJECT_REPO $PROJECT_DIR
|
git_clone $PROJECT_REPO $PROJECT_DIR
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d $PROJECT_DIR ]; then
|
if [ -d $PROJECT_DIR ]; then
|
||||||
if [ -f $CONFIGURATION_FILE ]; then
|
if [ -f $CONFIGURATION_FILE ]; then
|
||||||
cd $PROJECT_DIR
|
cd $PROJECT_DIR
|
||||||
git stash
|
git_pull
|
||||||
git pull
|
|
||||||
make install
|
make install
|
||||||
${PROJECT_NAME} -c $CONFIGURATION_FILE
|
${PROJECT_NAME} -c $CONFIGURATION_FILE
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue