From f582f524471d21aff83d536fb817231538a942c1 Mon Sep 17 00:00:00 2001 From: deajan Date: Sat, 25 Jan 2025 14:20:06 +0100 Subject: [PATCH] upgrade_server: Fix upgrade script --- examples/upgrade_server/upgrade_script.cmd | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/examples/upgrade_server/upgrade_script.cmd b/examples/upgrade_server/upgrade_script.cmd index 6f1c874..a21089b 100644 --- a/examples/upgrade_server/upgrade_script.cmd +++ b/examples/upgrade_server/upgrade_script.cmd @@ -20,37 +20,39 @@ echo "Launching upgrade" >> "{log_file}" 2>&1 echo "Moving current dist from {CURRENT_DIR} to {backup_dist}" >> "{log_file}" 2>&1 move /Y "{CURRENT_DIR}" "{backup_dist}" >> "{log_file}" 2>&1 || GOTO MOVE_FAILED GOTO MOVE_OK -:: MOVE_FAILED +:MOVE_FAILED echo "Moving current dist failed. Trying to copy it." >> "{log_file}" 2>&1 xcopy /S /Y /I "{CURRENT_DIR}\*" "{backup_dist}" >> "{log_file}" 2>&1 echo "Now trying to overwrite current dist with upgrade dist" >> "{log_file}" 2>&1 xcopy /S /Y /I "{upgrade_dist}\*" "{CURRENT_DIR}" >> "{log_file}" 2>&1 GOTO TESTRUN -:: MOVE_OK +:MOVE_OK echo "Moving upgraded dist from {upgrade_dist} to {CURRENT_DIR}" >> "{log_file}" 2>&1 move /Y "{upgrade_dist}" "{CURRENT_DIR}" >> "{log_file}" 2>&1 echo "Copying optional configuration files from {backup_dist} to {CURRENT_DIR}" >> "{log_file}" 2>&1 xcopy /S /Y /I "{backup_dist}\*conf" {CURRENT_DIR} > NUL 2>&1 GOTO TESTRUN -:: TESTRUN +:TESTRUN echo "Loading new executable {CURRENT_EXECUTABLE} --run-as-cli --check-config {original_args}" >> "{log_file}" 2>&1 "{CURRENT_EXECUTABLE}" --run-as-cli --check-config {original_args} >> "{log_file}" 2>&1 || GOTO FAILED_TEST_RUN -GOTO RUN_AS_PLANNED -:: FAILED_TEST_RUN +GOTO TEST_RUN_OK +:FAILED_TEST_RUN echo "New executable failed. Rolling back" >> "{log_file}" 2>&1 echo "Trying to move back" >> "{log_file}" 2>&1 move /Y "{CURRENT_DIR}" "{backup_dist}.original" >> "{log_file}" 2>&1 || GOTO MOVE_BACK_FAILED move /Y "{backup_dist}" "{CURRENT_DIR}" >> "{log_file}" 2>&1 GOTO RUN_AS_PLANNED -:: MOVE_BACK_FAILED +:MOVE_BACK_FAILED echo "Moving files back failed. Trying to overwrite" >> "{log_file}" 2>&1 xcopy /S /Y /I "{backup_dist}\*" "{CURRENT_DIR}" >> "{log_file}" 2>&1 GOTO RUN_AS_PLANNED -:: RUN_AS_PLANNED +:TEST_RUN_OK echo "Upgrade successful" >> "{log_file}" 2>&1 rd /S /Q "{backup_dist}" >> "{log_file}" 2>&1 rd /S /Q "{upgrade_dist}" > NUL 2>&1 del /F /S /Q "{downloaded_archive}" >> "{log_file}" 2>&1 +GOTO RUN_AS_PLANNED +:RUN_AS_PLANNED echo "Running as initially planned:" >> "{log_file}" 2>&1 echo "{CURRENT_EXECUTABLE} {original_args}" >> "{log_file}" 2>&1 "{CURRENT_EXECUTABLE}" {original_args}