Update for package update

This commit is contained in:
timqiu 2025-03-18 13:33:53 +08:00
parent 171042821c
commit e4afdeea05

View File

@ -757,6 +757,11 @@ if true ; then
fi fi
popd > /dev/null popd > /dev/null
# Install pipreqs for generating requirements.txt
python3.11 -m pip install pipreqs
echo "==> [INIT] Backend environment initialization completed."
##################################### #####################################
# Initialize the frontend environment, including Node.js and npm # Initialize the frontend environment, including Node.js and npm
##################################### #####################################
@ -908,6 +913,24 @@ docker exec -i "$DEVBOX_NAME" bash <<EOF
echo "==> [BACKEND] Install backend dependencies..." echo "==> [BACKEND] Install backend dependencies..."
pip install -r /home/devbox/freeleaps/apps/requirements.txt pip install -r /home/devbox/freeleaps/apps/requirements.txt
# Backup the requirements.txt file
cp /home/devbox/freeleaps/apps/requirements.txt /home/devbox/freeleaps/apps/requirements.txt.bak
# Check by pipreqs to generate requirements.txt
pipreqs /home/devbox/freeleaps/apps --force --use-local --savepath /home/devbox/freeleaps/apps/requirements.txt
# Check if requirements.txt and requirements.txt.bak are different
if ! diff /home/devbox/freeleaps/apps/requirements.txt /home/devbox/freeleaps/apps/requirements.txt.bak; then
echo "==> [BACKEND] requirements.txt has changed. Reinstalling dependencies..."
pip install -r /home/devbox/freeleaps/apps/requirements.txt
rm /home/devbox/freeleaps/apps/requirements.txt.bak
else
# Restore the requirements.txt file
mv /home/devbox/freeleaps/apps/requirements.txt.bak /home/devbox/freeleaps/apps/requirements.txt
fi
touch /home/devbox/.backend_deps_installed touch /home/devbox/.backend_deps_installed
echo "==> [BACKEND] Run backend service..." echo "==> [BACKEND] Run backend service..."
./start_webapi.sh > /home/devbox/logs/backend.logs 2>&1 & ./start_webapi.sh > /home/devbox/logs/backend.logs 2>&1 &
@ -919,6 +942,20 @@ docker exec -i "$DEVBOX_NAME" bash <<EOF
pip install -r /home/devbox/freeleaps/apps/requirements.txt pip install -r /home/devbox/freeleaps/apps/requirements.txt
fi fi
# Check by pipreqs to generate requirements.txt
pipreqs /home/devbox/freeleaps/apps --force --use-local --savepath /home/devbox/freeleaps/apps/requirements.txt
# Check if requirements.txt and requirements.txt.bak are different
if ! diff /home/devbox/freeleaps/apps/requirements.txt /home/devbox/freeleaps/apps/requirements.txt.bak; then
echo "==> [BACKEND] requirements.txt has changed. Reinstalling dependencies..."
pip install -r /home/devbox/freeleaps/apps/requirements.txt
rm /home/devbox/freeleaps/apps/requirements.txt.bak
else
# Restore the requirements.txt file
mv /home/devbox/freeleaps/apps/requirements.txt.bak /home/devbox/freeleaps/apps/requirements.txt
fi
# Check if the backend service is already running # Check if the backend service is already running
SERVICE_API_ACCESS_PORT=\$(cat /home/devbox/.devbox-backend-port) SERVICE_API_ACCESS_PORT=\$(cat /home/devbox/.devbox-backend-port)
uvicorn freeleaps.webapi.main:app --reload --host 0.0.0.0 --port \$SERVICE_API_ACCESS_PORT > /home/devbox/logs/backend.logs 2>&1 & uvicorn freeleaps.webapi.main:app --reload --host 0.0.0.0 --port \$SERVICE_API_ACCESS_PORT > /home/devbox/logs/backend.logs 2>&1 &
@ -1016,6 +1053,26 @@ docker exec -i "$DEVBOX_NAME" bash <<EOF
git status -s > "\$baseline_frontend" git status -s > "\$baseline_frontend"
echo "==> [FRONTEND] Recorded baseline before compilation: \$baseline_frontend" echo "==> [FRONTEND] Recorded baseline before compilation: \$baseline_frontend"
# Check if the frontend service is already running according to the package.json and pnpm-lock.yaml files timestamps
if [[ ! -d "node_modules" || "package.json" -nt "node_modules" || "pnpm-lock.yaml" -nt "node_modules" ]]; then
echo "==> Installing/Updating frontend dependencies..."
# Clean up old dependencies
rm -rf node_modules
# Install dependencies
pnpm install --prefer-offline || {
echo
echo "============================================================================================"
echo
echo " [ERROR] Failed to install dependencies. Please check the logs for more information."
echo
echo "============================================================================================"
echo
exit 1
}
fi
# Start the frontend service # Start the frontend service
echo "==> [FRONTEND] Start frontend service..." echo "==> [FRONTEND] Start frontend service..."
nohup npm run dev > /home/devbox/logs/frontend.logs 2>&1 & nohup npm run dev > /home/devbox/logs/frontend.logs 2>&1 &