From 34933fe93774806ac8c906ed9d018f02d443f964 Mon Sep 17 00:00:00 2001 From: "a.vorobiev" Date: Fri, 10 Jun 2022 16:19:10 +0200 Subject: [PATCH] Upgraded release script and local testing compose file --- CDP4WebServer.IIS/CDP4WebServer.IIS.csproj | 2 +- compose.bat | 11 ++++ docker-compose-local.yml | 53 ++++++++++++++++ release.bat | 70 +++++++++++++++++++++- 4 files changed, 134 insertions(+), 2 deletions(-) create mode 100644 docker-compose-local.yml diff --git a/CDP4WebServer.IIS/CDP4WebServer.IIS.csproj b/CDP4WebServer.IIS/CDP4WebServer.IIS.csproj index 2e8f626a..bc0da240 100644 --- a/CDP4WebServer.IIS/CDP4WebServer.IIS.csproj +++ b/CDP4WebServer.IIS/CDP4WebServer.IIS.csproj @@ -206,7 +206,7 @@ - + diff --git a/compose.bat b/compose.bat index 184ca65c..a5a89cb2 100644 --- a/compose.bat +++ b/compose.bat @@ -21,9 +21,20 @@ IF %1==devdown GOTO DevDown IF %1==devtestdown GOTO DevTestDown IF %1==nginx GOTO Serv IF %1==nginxdown GOTO ServDown +IF %1==local GOTO Local +IF %1==localdown GOTO LocalDown GOTO End +:Local +START /B docker-compose -f docker-compose-local.yml down --remove-orphans +START /B docker-compose -f docker-compose-local.yml up --build -d +GOTO End + +:LocalDown +START /B docker-compose -f docker-compose-local.yml down --remove-orphans +GOTO End + :Serv rem Need to build the application in Release before making the image CALL MSBuild.exe CDP4-Server.sln -property:Configuration=Release -restore diff --git a/docker-compose-local.yml b/docker-compose-local.yml new file mode 100644 index 00000000..9698ff4a --- /dev/null +++ b/docker-compose-local.yml @@ -0,0 +1,53 @@ +version: '3.8' +services: + + cdp4_db: + image: rheagroup/cdp4-database-community-edition:latest + hostname: cdp4-postgresql + command: postgres -c max_locks_per_transaction=1024 + environment: + - POSTGRES_PASSWORD=${DB_POSTGRESPASSWORD} + - POSTGRES_USER=postgres + networks: + cdp4: + aliases: + - cdp4-postgresql + container_name: cdp4-database-community-edition + restart: always + ports: + - '${DB_HOSTPORT}:5432' + expose: + - '5432' + volumes: + - cdpdbdata:/var/lib/postgresql/data + - cdpdblogs:/logs + + cdp4_webservices: + hostname: cdp4-webservices + image: cdp4-services-community-edition:latest + restart: always + build: . + networks: + cdp4: + aliases: + - cdp4-webservices + depends_on: + - cdp4_db + ports: + - "${WEBSERVICES_HOSTPORT}:5000" + expose: + - '5000' + volumes: + - cdpwslogs:/app/logs + - cdpwsstorage:/app/storage + - cdpwsupload:/app/upload + +networks: + cdp4: + +volumes: + cdpdbdata: + cdpdblogs: + cdpwslogs: + cdpwsstorage: + cdpwsupload: \ No newline at end of file diff --git a/release.bat b/release.bat index 7fd12d5f..245d9b66 100644 --- a/release.bat +++ b/release.bat @@ -3,6 +3,13 @@ IF %1.==. GOTO VersionError set version=%1 +set releasefolder=.\Release +set buildfolder=.\CDP4WebServer\bin\Release\net472 +set buildfolderIIS=.\CDP4WebServer.IIS\bin\app.publish +set logs=logs +set filename=COMETWebServices-%version%.zip +set filenameIIS=COMETWebServices-IIS-%version%.zip + GOTO Setup :VersionError @@ -31,10 +38,40 @@ set dry=true :Begin +ECHO. +ECHO Creating release folders +ECHO. + +if not exist %releasefolder% mkdir %releasefolder% +if exist %releasefolder%\%version% rmdir %releasefolder%\%version% /S /Q +if not exist %releasefolder%\%version% mkdir %releasefolder%\%version% + ECHO. ECHO Cleaning up... ECHO. +call MSBuild.exe CDP4-Server.sln -target:Clean -p:Configuration=Release + +ECHO. +ECHO Removing logs if existing... +ECHO. + +if exist %buildfolder%\%logs% rmdir %buildfolder%\%logs% /S /Q + +ECHO. +ECHO Building solution.... +ECHO. + +call MSBuild.exe CDP4-Server.sln -property:Configuration=Release -restore + +ECHO Error Level %errorlevel% + +IF %errorlevel%==1 GOTO BuildError + +ECHO. +ECHO Cleaning local Images... +ECHO. + REM cleanup previous if exists docker rmi cdp4-services-community-edition:%version% docker rmi rheagroup/cdp4-services-community-edition:%version% @@ -52,6 +89,27 @@ docker build -t cdp4-services-community-edition:%version% -t cdp4-services-commu docker tag cdp4-services-community-edition:%version% rheagroup/cdp4-services-community-edition:%version% docker tag cdp4-services-community-edition:latest rheagroup/cdp4-services-community-edition:latest +ECHO. +ECHO Building IIS version.... +ECHO. + +call MSBuild.exe .\CDP4WebServer.IIS\CDP4WebServer.IIS.csproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile /p:Configuration=Release /p:VisualStudioVersion=14.0 + +ECHO. +ECHO Building Release Archive +ECHO. + +call powershell -Command "& {Compress-Archive -Path %buildfolder%\* -DestinationPath %releasefolder%\%version%\%filename% -Force;}" +call powershell -Command "& {Compress-Archive -Path %buildfolderIIS%\* -DestinationPath %releasefolder%\%version%\%filenameIIS% -Force;}" + +ECHO. +ECHO Generating Verification Hashes +ECHO. + +call powershell -Command "& {Get-ChildItem -Path %releasefolder%\%version% -Recurse -Filter *.zip | Get-FileHash -Algorithm MD5 | Format-List | Out-File %releasefolder%\%version%\verification_hashes_%version%.txt}" +call powershell -Command "& {Get-ChildItem -Path %releasefolder%\%version% -Recurse -Filter *.zip | Get-FileHash | Format-List | Out-File %releasefolder%\%version%\verification_hashes_%version%.txt -Append}" + + IF %dry% equ true GOTO End ECHO. @@ -66,4 +124,14 @@ docker push rheagroup/cdp4-services-community-edition:latest ECHO. ECHO Release %version% Completed -ECHO. \ No newline at end of file +ECHO. + +EXIT /B 0 + +:BuildError + +ECHO. +ECHO Release %version% %platform% Failed +ECHO. + +EXIT /B 1 \ No newline at end of file