92 lines
2.7 KiB
Batchfile
92 lines
2.7 KiB
Batchfile
@echo off
|
|
REM ============================================================
|
|
REM Newbury Exhibit -> Gitea uploader
|
|
REM Default: HTTPS via DNS. Auto-fallback: direct LAN (bypasses nginx).
|
|
REM Clean re-clone of dev, copy tree, show status, commit, push.
|
|
REM ============================================================
|
|
setlocal enabledelayedexpansion
|
|
|
|
set GITEA_HOST=gitea.hideawaygaming.com.au
|
|
set LAN_URL=http://10.0.0.55:3000
|
|
set OWNER=jessikitty
|
|
set REPO=newbury-exhibit
|
|
set BRANCH=dev
|
|
set SRC=%~dp0
|
|
|
|
set HTTPS_REMOTE=https://%GITEA_HOST%/%OWNER%/%REPO%.git
|
|
set LAN_REMOTE=%LAN_URL%/%OWNER%/%REPO%.git
|
|
|
|
echo.
|
|
echo === Newbury Exhibit deploy ===
|
|
echo Source: %SRC%
|
|
echo Target: %HTTPS_REMOTE% (branch %BRANCH%)
|
|
echo Fallback: %LAN_REMOTE%
|
|
echo.
|
|
|
|
REM --- fresh _deploy checkout (clone via HTTPS; fall back to LAN) ---
|
|
if exist "%SRC%_deploy" (
|
|
echo Removing old _deploy checkout...
|
|
rmdir /s /q "%SRC%_deploy"
|
|
)
|
|
echo Cloning %BRANCH% via HTTPS...
|
|
git clone -b %BRANCH% "%HTTPS_REMOTE%" "%SRC%_deploy"
|
|
if errorlevel 1 (
|
|
echo HTTPS clone failed, trying direct LAN...
|
|
git clone -b %BRANCH% "%LAN_REMOTE%" "%SRC%_deploy"
|
|
if errorlevel 1 ( echo ERROR: clone failed on both remotes. & pause & exit /b 1 )
|
|
)
|
|
|
|
REM --- auto-detect git identity from global config ---
|
|
for /f "tokens=*" %%a in ('git config --global user.name') do set GITNAME=%%a
|
|
for /f "tokens=*" %%a in ('git config --global user.email') do set GITEMAIL=%%a
|
|
if "!GITNAME!"=="" set GITNAME=jessikitty
|
|
if "!GITEMAIL!"=="" set GITEMAIL=jess.rogerson.29@outlook.com
|
|
|
|
REM --- copy project files into checkout (exclude deploy/node_modules/git) ---
|
|
echo Syncing files...
|
|
robocopy "%SRC%." "%SRC%_deploy" /E /XD "_deploy" "node_modules" ".git" /XF "*.log" >nul
|
|
|
|
pushd "%SRC%_deploy"
|
|
git config user.name "!GITNAME!"
|
|
git config user.email "!GITEMAIL!"
|
|
REM larger buffer + HTTP/1.1 makes pushes more robust through a reverse proxy
|
|
git config http.postBuffer 524288000
|
|
git config http.version HTTP/1.1
|
|
|
|
echo.
|
|
echo === Staged changes ===
|
|
git add -A
|
|
git status --short
|
|
echo.
|
|
|
|
set /p MSG="Commit message (blank = 'Update exhibit'): "
|
|
if "!MSG!"=="" set MSG=Update exhibit
|
|
|
|
git commit -m "!MSG!"
|
|
if errorlevel 1 (
|
|
echo Nothing to commit, or commit failed.
|
|
popd & pause & exit /b 0
|
|
)
|
|
|
|
echo.
|
|
echo Pushing via HTTPS...
|
|
git push origin %BRANCH%
|
|
if errorlevel 1 (
|
|
echo.
|
|
echo HTTPS push failed ^(proxy/500?^). Retrying direct LAN: %LAN_REMOTE%
|
|
git push "%LAN_REMOTE%" %BRANCH%
|
|
if errorlevel 1 (
|
|
echo.
|
|
echo ERROR: push failed on both remotes.
|
|
echo Your commit is saved in _deploy - you can retry manually:
|
|
echo cd "%SRC%_deploy"
|
|
echo git push origin %BRANCH%
|
|
echo git push "%LAN_REMOTE%" %BRANCH%
|
|
popd & pause & exit /b 1
|
|
)
|
|
)
|
|
echo.
|
|
echo === Pushed to %BRANCH% successfully ===
|
|
popd
|
|
pause
|