Implement branch-aware deployment: auto-detect environment to prevent merge conflicts

- Auto-detects git branch (master/development/other)
- Sets correct base_url for each environment:
  * master -> https://www.mycelium.threefold.io/ (production)
  * development -> https://www2.mycelium.threefold.io/ (staging)
  * other -> /mycelium/ (local development)
- Eliminates merge conflicts between staging and production
- Enables seamless branch merging workflow
This commit is contained in:
2025-09-02 13:24:15 +02:00
parent 767e4a2eea
commit f2fa57e7bb

View File

@@ -43,14 +43,28 @@ echo "Compiling tailwindcss and building zola project..."
rm -rf public static/css rm -rf public static/css
./tailwindcss -i css/index.css -o ./static/css/index.css --minify ./tailwindcss -i css/index.css -o ./static/css/index.css --minify
# Auto-detect deployment environment based on git branch
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "Detected git branch: $CURRENT_BRANCH"
# echo "Building without prefix..." if [ "$CURRENT_BRANCH" = "master" ]; then
# sed 's|base_url = "BASEURL"|base_url = "https://www.mycelium.threefold.io/"|' config.templ.toml > config.toml # Production deployment (www.mycelium.threefold.io)
# zola --root $ABS_DIR_OF_SCRIPT build echo "Building for PRODUCTION environment..."
# rsync -avz --delete public/ "root@threefold.info:/root/hero/www/info/$PREFIX/" BASE_URL="https://www.mycelium.threefold.io/"
DEPLOY_PATH="root@threefold.info:/root/hero/www/info/$PREFIX/"
elif [ "$CURRENT_BRANCH" = "development" ]; then
# Staging deployment (www2.mycelium.threefold.io)
echo "Building for STAGING environment..."
BASE_URL="https://www2.mycelium.threefold.io/"
DEPLOY_PATH="root@threefold.info:/root/hero/www/info/$PREFIX/"
else
# Fallback for other branches (local development mode)
echo "Building for LOCAL/OTHER branch environment..."
BASE_URL="/mycelium/"
DEPLOY_PATH="${HOME}/hero/var/www/$PREFIX/"
fi
echo "Building with prefix: /$PREFIX/" echo "Using base_url: $BASE_URL"
sed 's|base_url = "BASEURL"|base_url = "/mycelium/"|' config.templ.toml > config.toml sed "s|base_url = \"BASEURL\"|base_url = \"$BASE_URL\"|" config.templ.toml > config.toml
zola --root $ABS_DIR_OF_SCRIPT build zola --root $ABS_DIR_OF_SCRIPT build
rsync -rav --delete public/ "${HOME}/hero/var/www/$PREFIX/" rsync -avz --delete public/ "$DEPLOY_PATH"