From 850b3a76c394caf9db55965f3fe34e773fb31d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com> Date: Thu, 23 Jan 2025 14:12:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=B4=E4=B8=AD=E7=BB=8F?= =?UTF-8?q?=E5=BC=80=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sst-manager/src/main/bin/project_deploy.sh | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sst-manager/src/main/bin/project_deploy.sh diff --git a/sst-manager/src/main/bin/project_deploy.sh b/sst-manager/src/main/bin/project_deploy.sh new file mode 100644 index 0000000..fa58478 --- /dev/null +++ b/sst-manager/src/main/bin/project_deploy.sh @@ -0,0 +1,90 @@ +#!/bin/sh +RETVAL=$? +SHELL_NAME="deploy" +BASEDIR=$(dirname $0) +BASEDIR=$( ( + cd "$BASEDIR" + pwd +)) +LOCK_FILE="/tmp/deploy.lock" +# 鏃堕棿鍙橀噺 +CDATE=$(date "+%Y-%m-%d") +CTIME=$(date "+%H:%M:%S") +SHELL_LOG="${BASEDIR}/${SHELL_NAME}.log" + +JAVA_HOME="/usr/local/java/jdk1.8" +SERVICE_PATH="/usr/lib/systemd/system" +PUBLISH_PATH="/home/publish" +PROJECT_NAME="@project.artifactId@" + +PROJECT_EXECPATH="${PUBLISH_PATH}/${PROJECT_NAME}" +PROJECT_FILENAME="${PROJECT_NAME}.tar.gz" +PROJECT_SERVICE="${SERVICE_PATH}/${PROJECT_NAME}.service" + +#鍐欐棩蹇� +writelog() { + LOGINFO=$1 + echo "${CDATE} ${CTIME}: ${SHELL_NAME} : ${LOGINFO}" >>${SHELL_LOG} + echo ${LOGINFO} +} + +#娓呯悊鐩爣 +clear_deploy() { + SERVICE=$1 + EXECPATH=$2 + #娓呯悊鍚庡彴鑷惎鏈嶅姟 + rm -f ${SERVICE} + #娓呯悊鎵ц鏂囦欢鐩綍 +} +build_service() { + SERVICE=$1 + EXECPATH=$2 + echo "" >${SERVICE} + echo "[Unit]" >>${SERVICE} + echo "Description=${PROJECT_NAME}" >>${SERVICE} + echo "After=network.target" >>${SERVICE} + echo "" >>${SERVICE} + echo "[Service]" >>${SERVICE} + echo "Environment=\"JAVA_HOME=$JAVA_HOME\"" >>${SERVICE} + echo "Type=forking" >>${SERVICE} + echo "ExecStartPre=-/bin/sleep 5s" >>${SERVICE} + echo "ExecStart=${EXECPATH}/bin/start.sh" >>${SERVICE} + echo "ExecStop=${EXECPATH}/bin/shutdown.sh" >>${SERVICE} + echo "PrivateTmp=true" >>${SERVICE} + echo "" >>${SERVICE} + echo "[Install]" >>${SERVICE} + echo "WantedBy=multi-user.target" >>${SERVICE} + writelog "${PROJECT_NAME}鏈嶅姟鍒涘缓瀹屾垚!" + +} + +#鍚姩鏈嶅姟涓巒ginx +start_service() { + systemctl enable ${PROJECT_NAME} + systemctl daemon-reload + writelog "${PROJECT_NAME}鏈嶅姟鍚姩..." + systemctl stop ${PROJECT_NAME}&&systemctl start ${PROJECT_NAME} + project_status=$(systemctl status "${PROJECT_NAME}"|grep Active |awk '{print $2}') + jcpid=$(ps -ef | grep -v "grep" | grep "${PROJECT_NAME} " | awk '{print $2}') + writelog "${PROJECT_NAME}鏈嶅姟鍚姩,PID is ${jcpid} ,status:${project_status}" +} +#閮ㄧ讲鍚庡彴鏈嶅姟 +project_deploy() { + writelog "${PROJECT_NAME}_deploy" + clear_deploy ${PROJECT_SERVICE} ${PROJECT_EXECPATH} + writelog "${PROJECT_NAME}_clear_finish" + tar -zvxf ./${PROJECT_FILENAME} -C ${PUBLISH_PATH} + build_service ${PROJECT_SERVICE} ${PROJECT_EXECPATH} + start_service + writelog "${PROJECT_NAME}_deploy_finish" +} + + +#涓诲嚱鏁� +main() { + echo "鍚庡彴鏈嶅姟閮ㄧ讲" + project_deploy + exit ${RETVAL} +} + +main $1 -- 2.24.3