upgrade_server: Fix upgrade script

This commit is contained in:
deajan 2025-01-25 14:20:06 +01:00
parent 7ee603374e
commit f582f52447

View file

@ -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 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 move /Y "{CURRENT_DIR}" "{backup_dist}" >> "{log_file}" 2>&1 || GOTO MOVE_FAILED
GOTO MOVE_OK GOTO MOVE_OK
:: MOVE_FAILED :MOVE_FAILED
echo "Moving current dist failed. Trying to copy it." >> "{log_file}" 2>&1 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 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 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 xcopy /S /Y /I "{upgrade_dist}\*" "{CURRENT_DIR}" >> "{log_file}" 2>&1
GOTO TESTRUN GOTO TESTRUN
:: MOVE_OK :MOVE_OK
echo "Moving upgraded dist from {upgrade_dist} to {CURRENT_DIR}" >> "{log_file}" 2>&1 echo "Moving upgraded dist from {upgrade_dist} to {CURRENT_DIR}" >> "{log_file}" 2>&1
move /Y "{upgrade_dist}" "{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 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 xcopy /S /Y /I "{backup_dist}\*conf" {CURRENT_DIR} > NUL 2>&1
GOTO TESTRUN GOTO TESTRUN
:: TESTRUN :TESTRUN
echo "Loading new executable {CURRENT_EXECUTABLE} --run-as-cli --check-config {original_args}" >> "{log_file}" 2>&1 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 "{CURRENT_EXECUTABLE}" --run-as-cli --check-config {original_args} >> "{log_file}" 2>&1 || GOTO FAILED_TEST_RUN
GOTO RUN_AS_PLANNED GOTO TEST_RUN_OK
:: FAILED_TEST_RUN :FAILED_TEST_RUN
echo "New executable failed. Rolling back" >> "{log_file}" 2>&1 echo "New executable failed. Rolling back" >> "{log_file}" 2>&1
echo "Trying to move 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 "{CURRENT_DIR}" "{backup_dist}.original" >> "{log_file}" 2>&1 || GOTO MOVE_BACK_FAILED
move /Y "{backup_dist}" "{CURRENT_DIR}" >> "{log_file}" 2>&1 move /Y "{backup_dist}" "{CURRENT_DIR}" >> "{log_file}" 2>&1
GOTO RUN_AS_PLANNED GOTO RUN_AS_PLANNED
:: MOVE_BACK_FAILED :MOVE_BACK_FAILED
echo "Moving files back failed. Trying to overwrite" >> "{log_file}" 2>&1 echo "Moving files back failed. Trying to overwrite" >> "{log_file}" 2>&1
xcopy /S /Y /I "{backup_dist}\*" "{CURRENT_DIR}" >> "{log_file}" 2>&1 xcopy /S /Y /I "{backup_dist}\*" "{CURRENT_DIR}" >> "{log_file}" 2>&1
GOTO RUN_AS_PLANNED GOTO RUN_AS_PLANNED
:: RUN_AS_PLANNED :TEST_RUN_OK
echo "Upgrade successful" >> "{log_file}" 2>&1 echo "Upgrade successful" >> "{log_file}" 2>&1
rd /S /Q "{backup_dist}" >> "{log_file}" 2>&1 rd /S /Q "{backup_dist}" >> "{log_file}" 2>&1
rd /S /Q "{upgrade_dist}" > NUL 2>&1 rd /S /Q "{upgrade_dist}" > NUL 2>&1
del /F /S /Q "{downloaded_archive}" >> "{log_file}" 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 "Running as initially planned:" >> "{log_file}" 2>&1
echo "{CURRENT_EXECUTABLE} {original_args}" >> "{log_file}" 2>&1 echo "{CURRENT_EXECUTABLE} {original_args}" >> "{log_file}" 2>&1
"{CURRENT_EXECUTABLE}" {original_args} "{CURRENT_EXECUTABLE}" {original_args}