From 9f32656c5cc0d8279a729cff5801f2360d304227 Mon Sep 17 00:00:00 2001 From: timqiu <9145422+cocoonwind@user.noreply.gitee.com> Date: Mon, 31 Mar 2025 22:05:12 +0800 Subject: [PATCH] Update for adding logic to exit deinit when devbox container cannot stop and remove --- devbox/cli/devbox | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/devbox/cli/devbox b/devbox/cli/devbox index 15795a1..bc6572a 100755 --- a/devbox/cli/devbox +++ b/devbox/cli/devbox @@ -690,7 +690,7 @@ EOFinner sed -i "s|VITE_PROXY_WEBSOCKET_CHAT_URL=.*|VITE_PROXY_WEBSOCKET_CHAT_URL=ws://chat:8012|g" /home/devbox/freeleaps/frontend/freeleaps/.env.development sed -i "s|VITE_PROXY_API_CHAT_URL=.*|VITE_PROXY_API_CHAT_URL=http://chat:8012|g" /home/devbox/freeleaps/frontend/freeleaps/.env.development - git update-index --skip-worktree /home/devbox/freeleaps/frontend/freeleaps/.env.development + else # Online component environment variables echo "[INIT] \$(date '+%Y-%m-%d %H:%M:%S') Use online component dev environment." @@ -724,8 +724,6 @@ EOFinner echo "[INIT] \$(date '+%Y-%m-%d %H:%M:%S') Update VITE_PROXY_WEBSOCKET_CHAT_URL and VITE_PROXY_API_CHAT_URL in frontend/.env.development" sed -i "s|VITE_PROXY_WEBSOCKET_CHAT_URL=.*|VITE_PROXY_WEBSOCKET_CHAT_URL=wss://freeleaps-alpha.com|g" /home/devbox/freeleaps/frontend/freeleaps/.env.development sed -i "s|VITE_PROXY_API_CHAT_URL=.*|VITE_PROXY_API_CHAT_URL=https://freeleaps-alpha.com|g" /home/devbox/freeleaps/frontend/freeleaps/.env.development - - git update-index --skip-worktree /home/devbox/freeleaps/frontend/freeleaps/.env.development echo "[INIT] \$(date '+%Y-%m-%d %H:%M:%S') Online component dev environment variables set." fi @@ -738,6 +736,8 @@ if true ; then git update-index --skip-worktree /home/devbox/freeleaps/frontend/freeleaps/.env.development + popd > /dev/null + # Load the environment variables source /home/devbox/freeleaps/apps/.env @@ -1203,15 +1203,16 @@ docker exec -i "$DEVBOX_NAME" bash < /dev/null + git update-index --skip-worktree /home/devbox/freeleaps/frontend/freeleaps/.env.development + popd > /dev/null + if [[ ! -d "node_modules" || "package.json" -nt "node_modules" || \$time_diff -gt \$threshold ]]; then echo "[FRONTEND] \$(date '+%Y-%m-%d %H:%M:%S') Installing/Updating frontend dependencies..." @@ -2218,6 +2219,16 @@ devbox_deinit_command() { fi fi + # Check if devbox container is running + if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^devbox\$")" ]]; then + # Get the container ID of the DevBox container + log_info "DevBox container is stopped." + local container_id + container_id=$(docker ps -a --format '{{.Names}}' | grep "^devbox\$") + + exit_with_message " Failed to stop and remove DevBox container when deinitializing. Please try deinit again or manually stop and remove the container." 1 + fi + if [[ -f "$WORKING_HOME/.gitea-instance" ]]; then local gitea_container_id gitea_container_id=$(cat "$WORKING_HOME/.gitea-instance")