@echo off
:: dotnet 发布目录
set publishDir=E:TEMPabc
set codeDir=D:SourceWebapi
set hostname=root@0.0.0.0
set port=111111
:: linux 服务器上的目录
set projDir=/abc/core
set container=abccore
set image=core_abc:latest
set ymlfile=/abc/core/docker-compose.stage.yml
cd /d %codeDir%
dotnet publish -c Release -o %publishDir%
if %errorlevel% == 0 (
pscp -P %port% -r %publishDir% %hostname%:%projDir%
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker stop %container%"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker rm %container%"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker rmi %image%"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker-compose -f %ymlfile% up -d"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "rm -rf %projDir%/*"
)
)
)
) else (
ssh -p %port% %hostname% "docker-compose -f %ymlfile% up -d"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "rm -rf %projDir%/*"
)
)
) else (
echo upload-error
)
) else (
echo publish-error
)
pause>nul