mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
(improvement)(chat) Support specifying spring.profiles.active at runtime to optimize the entire Docker deployment script. (#1302)
This commit is contained in:
@@ -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%
|
||||
@@ -32,30 +39,29 @@ if "%command%"=="restart" (
|
||||
goto :EOF
|
||||
)
|
||||
|
||||
: start
|
||||
:start
|
||||
call :runJavaService
|
||||
goto :EOF
|
||||
|
||||
|
||||
: stop
|
||||
:stop
|
||||
call :stopJavaService
|
||||
goto :EOF
|
||||
|
||||
: runJavaService
|
||||
:runJavaService
|
||||
echo 'java service starting, see logs in logs/'
|
||||
set "libDir=%baseDir%\lib"
|
||||
set "confDir=%baseDir%\conf"
|
||||
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
|
||||
echo 'java service started'
|
||||
goto :EOF
|
||||
|
||||
: stopJavaService
|
||||
:stopJavaService
|
||||
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "java"') do (
|
||||
taskkill /PID %%i /F
|
||||
echo "java service (PID = %%i) is killed."
|
||||
|
||||
@@ -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,59 +59,53 @@ 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}')
|
||||
echo "Starting ${local_app_name}"
|
||||
pid=$(ps aux | grep ${local_app_name} | grep -v grep | awk '{print $2}')
|
||||
if [[ "$pid" == "" ]]; then
|
||||
runJavaService ${local_app_name}
|
||||
runJavaService ${local_app_name}
|
||||
else
|
||||
echo "Process (PID = $pid) is running."
|
||||
return 1
|
||||
fi
|
||||
echo "Start success"
|
||||
echo "Start success"
|
||||
}
|
||||
|
||||
function stop()
|
||||
{
|
||||
echo "Stopping $1"
|
||||
function stop() {
|
||||
echo "Stopping $1"
|
||||
pid=$(ps aux | grep $1 | grep -v grep | awk '{print $2}')
|
||||
if [[ "$pid" == "" ]]; then
|
||||
echo "Process $1 is not running !"
|
||||
echo "Process $1 is not running!"
|
||||
return 1
|
||||
else
|
||||
kill -9 $pid
|
||||
echo "Process (PID = $pid) is killed !"
|
||||
echo "Process (PID = $pid) is killed!"
|
||||
return 0
|
||||
fi
|
||||
echo "Stop success"
|
||||
echo "Stop success"
|
||||
}
|
||||
|
||||
setMainClass
|
||||
setAppName
|
||||
case "$command" in
|
||||
start)
|
||||
start ${app_name}
|
||||
;;
|
||||
start ${app_name}
|
||||
;;
|
||||
stop)
|
||||
stop $app_name
|
||||
;;
|
||||
stop $app_name
|
||||
;;
|
||||
restart)
|
||||
stop ${app_name}
|
||||
start ${app_name}
|
||||
;;
|
||||
stop ${app_name}
|
||||
start ${app_name}
|
||||
;;
|
||||
*)
|
||||
echo "Use command {start|stop|restart} to run."
|
||||
exit 1
|
||||
echo "Use command {start|stop|restart} to run."
|
||||
exit 1
|
||||
esac
|
||||
@@ -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
36
docker/docker-build.bat
Normal 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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user