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:
30
build.sh
30
build.sh
@@ -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"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user