From f5951e06c109cf973c87581f2900b1fbb37fe3d0 Mon Sep 17 00:00:00 2001 From: Evgeniy Antonyuk Date: Tue, 9 Jul 2024 17:51:10 +0300 Subject: [PATCH] Add OCI execution logging --- install/OneClickInstall/docspace-install.sh | 10 ++++++++++ tests/vagrant/install.sh | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/install/OneClickInstall/docspace-install.sh b/install/OneClickInstall/docspace-install.sh index dfa7a330de..c0d24370c7 100644 --- a/install/OneClickInstall/docspace-install.sh +++ b/install/OneClickInstall/docspace-install.sh @@ -37,9 +37,11 @@ LOCAL_SCRIPTS="false" product="docspace" product_sysname="onlyoffice"; FILE_NAME="$(basename "$0")" +ENABLE_LOGGING="true" while [ "$1" != "" ]; do case $1 in + -log | --logging ) [ "$2" == "true" -o "$2" == "false" ] && { ENABLE_LOGGING=$2; shift; } ;; -ls | --localscripts ) [ "$2" == "true" -o "$2" == "false" ] && { PARAMETERS+=" $1"; LOCAL_SCRIPTS=$2; shift; } ;; -gb | --gitbranch ) [ -n "$2" ] && { PARAMETERS+=" $1"; GIT_BRANCH=$2; shift; } ;; docker ) DOCKER="true"; shift && continue ;; @@ -50,6 +52,7 @@ while [ "$1" != "" ]; do echo "Run 'bash $FILE_NAME docker' to install Docker version of application." echo "Run 'bash $FILE_NAME package' to install DEB/RPM version." echo "Run 'bash $FILE_NAME docker -h' or 'bash $FILE_NAME package -h' to get more details." + echo "To disable logging, use the '-log' environment variable with a value of 'false'" exit 0; fi PARAMETERS="$PARAMETERS -ht $FILE_NAME"; @@ -118,8 +121,15 @@ else exit 1 fi +if [ "$ENABLE_LOGGING" = "true" ]; then + LOG_FILE="OneClick${SCRIPT_NAME%.sh}_$(date +%Y%m%d_%H%M%S).log" + touch "${LOG_FILE}" || { echo "Failed to create log file"; exit 1; } + exec > >(tee "${LOG_FILE}") 2>&1 +fi + [ "$LOCAL_SCRIPTS" != "true" ] && curl -s -O ${DOWNLOAD_URL_PREFIX}/${SCRIPT_NAME} bash ${SCRIPT_NAME} ${PARAMETERS} || EXIT_CODE=$? [ "$LOCAL_SCRIPTS" != "true" ] && rm ${SCRIPT_NAME} +[ "$ENABLE_LOGGING" = "true" ] && [ $EXIT_CODE -eq 0 ] && rm "${LOG_FILE}" exit ${EXIT_CODE:-0} diff --git a/tests/vagrant/install.sh b/tests/vagrant/install.sh index 76802eb254..fe1edbe0b6 100644 --- a/tests/vagrant/install.sh +++ b/tests/vagrant/install.sh @@ -208,7 +208,7 @@ function install_docspace() { sed 's/set -e/set -xe/' -i *.sh fi - printf "N\nY\nY" | bash docspace-install.sh ${ARGUMENTS} + printf "N\nY\nY" | bash docspace-install.sh ${ARGUMENTS} -log false if [[ $? != 0 ]]; then echo "Exit code non-zero. Exit with 1."