-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.bat
More file actions
53 lines (45 loc) · 1.07 KB
/
deploy.bat
File metadata and controls
53 lines (45 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
@echo off
setlocal
:: ==== CONFIG ====
set "SERVICE_NAME=IM"
set "CSPROJ_PATH=D:\IM\IM\IM.csproj"
set "PUBLISH_DIR=D:\IM\IM\bin\Publish"
set "DEPLOY_DIR=C:\fgCode\IM\bin"
echo.
echo ===== 1) Publishing .NET 8 app =====
dotnet publish "%CSPROJ_PATH%" -c Release -o "%PUBLISH_DIR%"
if errorlevel 1 (
echo Publish failed!
exit /b 1
)
echo.
echo ===== 2) Stopping service %SERVICE_NAME% =====
sc stop "%SERVICE_NAME%"
echo Waiting for service to stop...
:waitstop
sc query "%SERVICE_NAME%" | find /I "STOPPED" >nul
if errorlevel 1 (
timeout /t 1 >nul
goto waitstop
)
echo.
echo ===== 3) Copying files =====
robocopy "%PUBLISH_DIR%" "%DEPLOY_DIR%" /E /R:2 /W:2 /COPY:DAT
if %ERRORLEVEL% GEQ 8 (
echo Robocopy failed with error %ERRORLEVEL%.
exit /b %ERRORLEVEL%
)
echo.
echo ===== 4) Starting service %SERVICE_NAME% =====
sc start "%SERVICE_NAME%"
echo Waiting for service to start...
:waitstart
sc query "%SERVICE_NAME%" | find /I "RUNNING" >nul
if errorlevel 1 (
timeout /t 1 >nul
goto waitstart
)
echo.
echo Deployment completed successfully!
endlocal
pause