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