From ca7e76dac42d05ddd54de634443d4a600d1917e4 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Fri, 10 Nov 2023 18:18:12 +0800 Subject: [PATCH] build hertzbeat package with jdk runtime --- .gitignore | 1 + collector/pom.xml | 72 ++++++++- manager/README.md | 6 +- manager/pom.xml | 141 +++++++++++++++--- .../collector/assembly-linux-amd64.xml | 60 ++++++++ .../collector/assembly-linux-arm64.xml | 60 ++++++++ .../collector/assembly-macos-amd64.xml | 60 ++++++++ .../collector/assembly-macos-arm64.xml | 60 ++++++++ .../collector/assembly-windows-64.xml | 60 ++++++++ script/assembly/collector/bin/entrypoint.sh | 5 +- script/assembly/collector/bin/startup.bat | 15 +- script/assembly/collector/bin/startup.sh | 16 +- .../assembly/server/assembly-linux-amd64.xml | 90 +++++++++++ .../assembly/server/assembly-linux-arm64.xml | 90 +++++++++++ .../assembly/server/assembly-macos-amd64.xml | 90 +++++++++++ .../assembly/server/assembly-macos-arm64.xml | 90 +++++++++++ .../assembly/server/assembly-windows-64.xml | 90 +++++++++++ script/assembly/server/bin/entrypoint.sh | 5 +- script/assembly/server/bin/startup.bat | 16 +- script/assembly/server/bin/startup.sh | 16 +- 20 files changed, 1009 insertions(+), 34 deletions(-) create mode 100644 script/assembly/collector/assembly-linux-amd64.xml create mode 100644 script/assembly/collector/assembly-linux-arm64.xml create mode 100644 script/assembly/collector/assembly-macos-amd64.xml create mode 100644 script/assembly/collector/assembly-macos-arm64.xml create mode 100644 script/assembly/collector/assembly-windows-64.xml create mode 100644 script/assembly/server/assembly-linux-amd64.xml create mode 100644 script/assembly/server/assembly-linux-arm64.xml create mode 100644 script/assembly/server/assembly-macos-amd64.xml create mode 100644 script/assembly/server/assembly-macos-arm64.xml create mode 100644 script/assembly/server/assembly-windows-64.xml diff --git a/.gitignore b/.gitignore index d0db3493cb3..b50435887b6 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ mvnw.bat *.log package-lock.json *.zip +jdk/ ### STS ### .apt_generated diff --git a/collector/pom.xml b/collector/pom.xml index 8dbbb2efd79..0a0bb63ebe5 100644 --- a/collector/pom.xml +++ b/collector/pom.xml @@ -260,7 +260,7 @@ ${maven-assembly-plugin.version} - make-zip + without-jdk package @@ -273,6 +273,76 @@ + + make-macos-arm64 + + package + + + single + + + + ../script/assembly/collector/assembly-macos-arm64.xml + + + + + make-macos-amd64 + + package + + + single + + + + ../script/assembly/collector/assembly-macos-amd64.xml + + + + + make-linux-arm64 + + package + + + single + + + + ../script/assembly/collector/assembly-linux-arm64.xml + + + + + make-linux-amd64 + + package + + + single + + + + ../script/assembly/collector/assembly-linux-amd64.xml + + + + + make-windows-64 + + package + + + single + + + + ../script/assembly/collector/assembly-windows-64.xml + + + diff --git a/manager/README.md b/manager/README.md index 9d5f43c186b..806ca507a59 100644 --- a/manager/README.md +++ b/manager/README.md @@ -15,6 +15,10 @@ Provides monitoring management, monitoring application configuration management, The HertzBeat install package will at `manager/target/hertzbeat-{version}.tar.gz` -3. Execute command in collector +3. Build package with jdk + +```mvn clean package -Pruntime``` + +4. Execute command in collector ```mvn clean package -Pcluster``` diff --git a/manager/pom.xml b/manager/pom.xml index 1842c8153ed..a591378ee64 100644 --- a/manager/pom.xml +++ b/manager/pom.xml @@ -204,29 +204,126 @@ - - - org.apache.maven.plugins - maven-assembly-plugin - ${maven-assembly-plugin.version} - - - make-zip - - package - - - single - - - - ../script/assembly/server/assembly.xml - - - - - + + + default + + true + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven-assembly-plugin.version} + + + make-zip + + package + + + single + + + + ../script/assembly/server/assembly.xml + + + + + + + + + + runtime + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven-assembly-plugin.version} + + + make-macos-arm64 + + package + + + single + + + + ../script/assembly/server/assembly-macos-arm64.xml + + + + + make-macos-amd64 + + package + + + single + + + + ../script/assembly/server/assembly-macos-amd64.xml + + + + + make-linux-arm64 + + package + + + single + + + + ../script/assembly/server/assembly-linux-arm64.xml + + + + + make-linux-amd64 + + package + + + single + + + + ../script/assembly/server/assembly-linux-amd64.xml + + + + + make-windows-64 + + package + + + single + + + + ../script/assembly/server/assembly-windows-64.xml + + + + + + + + + + diff --git a/script/assembly/collector/assembly-linux-amd64.xml b/script/assembly/collector/assembly-linux-amd64.xml new file mode 100644 index 00000000000..53c3f95eb5f --- /dev/null +++ b/script/assembly/collector/assembly-linux-amd64.xml @@ -0,0 +1,60 @@ + + + linux_amd64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/collector/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + banner.txt + META-INF/** + + + true + ${file.separator}config + + + + + target + / + + *.jar + + + + + + ../jdk/linux-amd64 + java + + + diff --git a/script/assembly/collector/assembly-linux-arm64.xml b/script/assembly/collector/assembly-linux-arm64.xml new file mode 100644 index 00000000000..a60dd7fd454 --- /dev/null +++ b/script/assembly/collector/assembly-linux-arm64.xml @@ -0,0 +1,60 @@ + + + linux_arm64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/collector/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + banner.txt + META-INF/** + + + true + ${file.separator}config + + + + + target + / + + *.jar + + + + + + ../jdk/linux-arm64 + java + + + diff --git a/script/assembly/collector/assembly-macos-amd64.xml b/script/assembly/collector/assembly-macos-amd64.xml new file mode 100644 index 00000000000..c389c829f21 --- /dev/null +++ b/script/assembly/collector/assembly-macos-amd64.xml @@ -0,0 +1,60 @@ + + + macos_amd64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/collector/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + banner.txt + META-INF/** + + + true + ${file.separator}config + + + + + target + / + + *.jar + + + + + + ../jdk/macos-amd64 + java + + + diff --git a/script/assembly/collector/assembly-macos-arm64.xml b/script/assembly/collector/assembly-macos-arm64.xml new file mode 100644 index 00000000000..b58c4a37115 --- /dev/null +++ b/script/assembly/collector/assembly-macos-arm64.xml @@ -0,0 +1,60 @@ + + + macos_arm64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/collector/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + banner.txt + META-INF/** + + + true + ${file.separator}config + + + + + target + / + + *.jar + + + + + + ../jdk/macos-arm64 + java + + + diff --git a/script/assembly/collector/assembly-windows-64.xml b/script/assembly/collector/assembly-windows-64.xml new file mode 100644 index 00000000000..8db2ae34ff5 --- /dev/null +++ b/script/assembly/collector/assembly-windows-64.xml @@ -0,0 +1,60 @@ + + + windows64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/collector/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + banner.txt + META-INF/** + + + true + ${file.separator}config + + + + + target + / + + *.jar + + + + + + ../jdk/windows-64 + java + + + diff --git a/script/assembly/collector/bin/entrypoint.sh b/script/assembly/collector/bin/entrypoint.sh index e5da4e0da21..84bd97627e6 100644 --- a/script/assembly/collector/bin/entrypoint.sh +++ b/script/assembly/collector/bin/entrypoint.sh @@ -43,6 +43,9 @@ if [ ! -d $LOGS_DIR ]; then mkdir $LOGS_DIR fi +# JVM Configuration +JAVA_OPTS=" -Doracle.jdbc.timezoneAsRegion=false" + # JVM Configuration JAVA_MEM_OPTS=" -server -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOGS_DIR" @@ -55,4 +58,4 @@ then fi CONFIG_FILES=" -Dlogging.path=$LOGS_DIR $LOGGING_CONFIG -Dspring.config.location=$CONF_DIR/ " echo -e "Starting the HertzBeat $SERVER_NAME ..." -java $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME --spring.profiles.active=cluster +java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME --spring.profiles.active=cluster diff --git a/script/assembly/collector/bin/startup.bat b/script/assembly/collector/bin/startup.bat index f251efd061a..c9ba6c7dcc5 100644 --- a/script/assembly/collector/bin/startup.bat +++ b/script/assembly/collector/bin/startup.bat @@ -49,7 +49,7 @@ if not exist %LOGS_DIR% ( ) rem JVM Configuration -set JAVA_OPTS= -Duser.timezone=Asia/Shanghai +set JAVA_OPTS= -Duser.timezone=Asia/Shanghai -Doracle.jdbc.timezoneAsRegion=false set JAVA_MEM_OPTS= -server -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%LOGS_DIR% @@ -59,7 +59,18 @@ set LOGGING_CONFIG=-Dlogging.config=%CONF_DIR%\logback-spring.xml set CONFIG_FILES= -Dlogging.path=%LOGS_DIR% %LOGGING_CONFIG% -Dspring.config.location=%CONF_DIR%/ echo Starting the HertzBeat %SERVER_NAME% ... -start javaw %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME% >logs\startup.log 2>&1 & +set INNER_EXE=%DEPLOY_DIR%\java\bin\javaw.exe + +if not exist %INNER_EXE% ( + echo "Use the system environment jdk to start" + + start javaw %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME% + +) else ( + echo "Use the inner package jdk to start" + + start %INNER_EXE% %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME% +) echo "Service Start Success!" for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%SERVER_PORT%"') do ( diff --git a/script/assembly/collector/bin/startup.sh b/script/assembly/collector/bin/startup.sh index 0e1dff1b7f1..d8345bb94c6 100644 --- a/script/assembly/collector/bin/startup.sh +++ b/script/assembly/collector/bin/startup.sh @@ -82,7 +82,7 @@ if [ ! -d $LOGS_DIR ]; then fi # JVM Configuration -JAVA_OPTS=" -Duser.timezone=Asia/Shanghai" +JAVA_OPTS=" -Duser.timezone=Asia/Shanghai -Doracle.jdbc.timezoneAsRegion=false" JAVA_MEM_OPTS=" -server -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOGS_DIR" @@ -96,7 +96,19 @@ fi CONFIG_FILES=" -Dlogging.path=$LOGS_DIR $LOGGING_CONFIG -Dspring.config.location=$CONF_DIR/ " echo -e "You can review logs at hertzbeat/logs" echo -e "Starting the HertzBeat $SERVER_NAME ..." -nohup java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME >logs/startup.log 2>&1 & + +if [ -f "./java/bin/java" ]; then + echo -e "Use the inner package jdk to start" + nohup ./java/bin/java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME >logs/startup.log 2>&1 & +else + JAVA_EXIST=`which java | grep bin | wc -l` + if [ $JAVA_EXIST -le 0 ]; then + echo -e "ERROR: there is no java11+ environment, please config java environment." + exit 1 + fi + echo -e "Use the system environment jdk to start" + nohup java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME >logs/startup.log 2>&1 & +fi COUNT=0 while [ $COUNT -lt 1 ]; do diff --git a/script/assembly/server/assembly-linux-amd64.xml b/script/assembly/server/assembly-linux-amd64.xml new file mode 100644 index 00000000000..efa26d9dbbc --- /dev/null +++ b/script/assembly/server/assembly-linux-amd64.xml @@ -0,0 +1,90 @@ + + + + linux_amd64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/server/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + sureness.yml + + true + ${file.separator}config + + + + + src/main/resources + + define/** + + true + ${file.separator} + + + + + target + / + + *.jar + + + + + + ../web-app/dist + dist + + + + + ../jdk/linux-amd64 + java + + + diff --git a/script/assembly/server/assembly-linux-arm64.xml b/script/assembly/server/assembly-linux-arm64.xml new file mode 100644 index 00000000000..4e4e61132ea --- /dev/null +++ b/script/assembly/server/assembly-linux-arm64.xml @@ -0,0 +1,90 @@ + + + + linux_arm64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/server/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + sureness.yml + + true + ${file.separator}config + + + + + src/main/resources + + define/** + + true + ${file.separator} + + + + + target + / + + *.jar + + + + + + ../web-app/dist + dist + + + + + ../jdk/linux-arm64 + java + + + diff --git a/script/assembly/server/assembly-macos-amd64.xml b/script/assembly/server/assembly-macos-amd64.xml new file mode 100644 index 00000000000..1182e380206 --- /dev/null +++ b/script/assembly/server/assembly-macos-amd64.xml @@ -0,0 +1,90 @@ + + + + macos_amd64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/server/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + sureness.yml + + true + ${file.separator}config + + + + + src/main/resources + + define/** + + true + ${file.separator} + + + + + target + / + + *.jar + + + + + + ../web-app/dist + dist + + + + + ../jdk/macos-amd64 + java + + + diff --git a/script/assembly/server/assembly-macos-arm64.xml b/script/assembly/server/assembly-macos-arm64.xml new file mode 100644 index 00000000000..c0577af270a --- /dev/null +++ b/script/assembly/server/assembly-macos-arm64.xml @@ -0,0 +1,90 @@ + + + + macos_arm64_1.4.2 + + + tar.gz + + + + + + true + lib + + + + + + + + ../script/assembly/server/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + sureness.yml + + true + ${file.separator}config + + + + + src/main/resources + + define/** + + true + ${file.separator} + + + + + target + / + + *.jar + + + + + + ../web-app/dist + dist + + + + + ../jdk/macos-arm64 + java + + + diff --git a/script/assembly/server/assembly-windows-64.xml b/script/assembly/server/assembly-windows-64.xml new file mode 100644 index 00000000000..b988bcd77f2 --- /dev/null +++ b/script/assembly/server/assembly-windows-64.xml @@ -0,0 +1,90 @@ + + + + windows64_1.4.2 + + + zip + + + + + + true + lib + + + + + + + + ../script/assembly/server/bin + + true + bin + 0755 + + + + + src/main/resources + + application.yml + logback-spring.xml + sureness.yml + + true + ${file.separator}config + + + + + src/main/resources + + define/** + + true + ${file.separator} + + + + + target + / + + *.jar + + + + + + ../web-app/dist + dist + + + + + ../jdk/windows-64 + java + + + diff --git a/script/assembly/server/bin/entrypoint.sh b/script/assembly/server/bin/entrypoint.sh index 9f4f69c25bb..d3a5178d9e2 100644 --- a/script/assembly/server/bin/entrypoint.sh +++ b/script/assembly/server/bin/entrypoint.sh @@ -43,6 +43,9 @@ if [ ! -d $LOGS_DIR ]; then mkdir $LOGS_DIR fi +# JVM Configuration +JAVA_OPTS=" -Doracle.jdbc.timezoneAsRegion=false" + # JVM Configuration JAVA_MEM_OPTS=" -server -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOGS_DIR" @@ -55,4 +58,4 @@ then fi CONFIG_FILES=" -Dlogging.path=$LOGS_DIR $LOGGING_CONFIG -Dspring.config.location=$CONF_DIR/ " echo -e "Starting the HertzBeat $SERVER_NAME ..." -java $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME --spring.profiles.active=prod +java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME --spring.profiles.active=prod diff --git a/script/assembly/server/bin/startup.bat b/script/assembly/server/bin/startup.bat index fc11554980c..efb2c2f15ef 100644 --- a/script/assembly/server/bin/startup.bat +++ b/script/assembly/server/bin/startup.bat @@ -49,7 +49,8 @@ if not exist %LOGS_DIR% ( ) rem JVM Configuration -set JAVA_OPTS= -Duser.timezone=Asia/Shanghai + +set JAVA_OPTS= -Duser.timezone=Asia/Shanghai -Doracle.jdbc.timezoneAsRegion=false set JAVA_MEM_OPTS= -server -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%LOGS_DIR% @@ -59,7 +60,18 @@ set LOGGING_CONFIG=-Dlogging.config=%CONF_DIR%\logback-spring.xml set CONFIG_FILES= -Dlogging.path=%LOGS_DIR% %LOGGING_CONFIG% -Dspring.config.location=%CONF_DIR%/ echo Starting the HertzBeat %SERVER_NAME% ... -start javaw %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME% >logs\startup.log 2>&1 & +set INNER_EXE=%DEPLOY_DIR%\java\bin\javaw.exe + +if not exist %INNER_EXE% ( + echo "Use the system environment jdk to start" + + start javaw %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME% + +) else ( + echo "Use the inner package jdk to start" + + start %INNER_EXE% %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME% +) echo "Service Start Success!" for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%SERVER_PORT%"') do ( diff --git a/script/assembly/server/bin/startup.sh b/script/assembly/server/bin/startup.sh index 5e5a5186255..cfc6553f4fa 100644 --- a/script/assembly/server/bin/startup.sh +++ b/script/assembly/server/bin/startup.sh @@ -82,7 +82,7 @@ if [ ! -d $LOGS_DIR ]; then fi # JVM Configuration -JAVA_OPTS=" -Duser.timezone=Asia/Shanghai" +JAVA_OPTS=" -Duser.timezone=Asia/Shanghai -Doracle.jdbc.timezoneAsRegion=false" JAVA_MEM_OPTS=" -server -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOGS_DIR" @@ -96,7 +96,19 @@ fi CONFIG_FILES=" -Dlogging.path=$LOGS_DIR $LOGGING_CONFIG -Dspring.config.location=$CONF_DIR/ " echo -e "You can review logs at hertzbeat/logs" echo -e "Starting the HertzBeat $SERVER_NAME ..." -nohup java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME >logs/startup.log 2>&1 & + +if [ -f "./java/bin/java" ]; then + echo -e "Use the inner package jdk to start" + nohup ./java/bin/java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME >logs/startup.log 2>&1 & +else + JAVA_EXIST=`which java | grep bin | wc -l` + if [ $JAVA_EXIST -le 0 ]; then + echo -e "ERROR: there is no java11+ environment, please config java environment." + exit 1 + fi + echo -e "Use the system environment jdk to start" + nohup java $JAVA_OPTS $JAVA_MEM_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/$JAR_NAME >logs/startup.log 2>&1 & +fi COUNT=0 while [ $COUNT -lt 1 ]; do