(improvement)(chat) Support specifying spring.profiles.active at runtime to optimize the entire Docker deployment script. (#1302)

This commit is contained in:
lexluo09
2024-06-30 21:30:30 +08:00
committed by GitHub
parent c8b6af4887
commit b59c1303cc
5 changed files with 79 additions and 37 deletions

View File

@@ -7,9 +7,16 @@ call %sbinDir%/supersonic-common.bat %*
set "command=%~1"
set "service=%~2"
set "profile=%~3"
if "%service%"=="" (
set "service=%standalone_service%"
)
if "%profile%"=="" (
set "profile=local"
)
set "model_name=%service%"
cd %baseDir%
@@ -36,7 +43,6 @@ if "%command%"=="restart" (
call :runJavaService
goto :EOF
:stop
call :stopJavaService
goto :EOF
@@ -48,7 +54,7 @@ if "%command%"=="restart" (
set "webDir=%baseDir%\webapp"
set "logDir=%baseDir%\logs"
set "classpath=%baseDir%;%webDir%;%libDir%\*;%confDir%"
set "java-command=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Xms1024m -Xmx2048m -cp %CLASSPATH% %MAIN_CLASS%"
set "java-command=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dspring.profiles.active=%profile% -Xms1024m -Xmx2048m -cp %CLASSPATH% %MAIN_CLASS%"
if not exist %logDir% mkdir %logDir%
start /B java %java-command% >nul 2>&1
timeout /t 10 >nul

View File

@@ -5,10 +5,16 @@ source $sbinDir/supersonic-common.sh
command=$1
service=$2
profile=$3
if [ -z "$service" ]; then
service=${STANDALONE_SERVICE}
fi
if [ -z "$profile" ]; then
profile="local"
fi
model_name=$service
cd $baseDir
@@ -53,18 +59,13 @@ function runJavaService {
JAVA_HOME=$(ls /usr/jdk64/jdk* -d 2>/dev/null | xargs | awk '{print "'$local_app_name'"}')
fi
export PATH=$JAVA_HOME/bin:$PATH
command="-Dfile.encoding="UTF-8" -Duser.language="Zh" -Duser.region="CN" -Duser.timezone="GMT+08" -Dapp_name=${local_app_name} -Xms1024m -Xmx2048m "$main_class
command="-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dapp_name=${local_app_name} -Xms1024m -Xmx2048m $main_class"
mkdir -p $javaRunDir/logs
if [[ "$is_test" == "true" ]]; then
java -Dspring.profiles.active="dev" $command >/dev/null 2>$javaRunDir/logs/error.log &
else
java $command $javaRunDir >/dev/null 2>$javaRunDir/logs/error.log &
fi
java -Dspring.profiles.active="$profile" $command >/dev/null 2>$javaRunDir/logs/error.log &
}
function start()
{
function start() {
local_app_name=$1
echo "Starting ${local_app_name}"
pid=$(ps aux | grep ${local_app_name} | grep -v grep | awk '{print $2}')
@@ -77,8 +78,7 @@ function start()
echo "Start success"
}
function stop()
{
function stop() {
echo "Stopping $1"
pid=$(ps aux | grep $1 | grep -v grep | awk '{print $2}')
if [[ "$pid" == "" ]]; then

View File

@@ -26,4 +26,4 @@ WORKDIR /usr/src/app/supersonic-standalone-${SUPERSONIC_VERSION}
EXPOSE 9080
# Command to run the supersonic daemon
RUN chmod +x bin/supersonic-daemon.sh
CMD ["bash", "-c", "bin/supersonic-daemon.sh restart && tail -f /dev/null"]
CMD ["bash", "-c", "bin/supersonic-daemon.sh restart prd && tail -f /dev/null"]

36
docker/docker-build.bat Normal file
View File

@@ -0,0 +1,36 @@
@echo off
setlocal
REM Function to execute the build script
:execute_build_script
echo Executing build script: assembly\bin\supersonic-build.bat
call assembly\bin\supersonic-build.bat
if %errorlevel% neq 0 (
echo Build script failed. Exiting.
exit /b 1
)
goto :eof
REM Function to build the Docker image
:build_docker_image
set "version=%1"
echo Building Docker image: supersonic:%version%
docker build --no-cache --build-arg SUPERSONIC_VERSION=%version% -t supersonic:%version% -f docker\Dockerfile .
if %errorlevel% neq 0 (
echo Docker build failed. Exiting.
exit /b 1
)
echo Docker image supersonic:%version% built successfully.
goto :eof
REM Main script execution
set "VERSION=%1"
if "%VERSION%"=="" (
echo Usage: %0 ^<version^>
exit /b 1
)
call :execute_build_script
call :build_docker_image %VERSION%
endlocal

View File

@@ -19,7 +19,7 @@ services:
- 8.8.4.4
db_init:
image: supersonic:0.9.2-SNAPSHOT
image: supersonicbi/supersonic:0.9.2-SNAPSHOT
container_name: supersonic_db_init
depends_on:
- mysql
@@ -51,7 +51,7 @@ services:
- 8.8.4.4
java_backend:
image: supersonic:0.9.2-SNAPSHOT
image: supersonicbi/supersonic:0.9.2-SNAPSHOT
container_name: supersonic_java_backend
environment:
DB_HOST: supersonic_mysql