Skip to content

Commit fa03ccf

Browse files
authored
Merge pull request #13 from yyyCode/dev
2 parents 68d0e2a + 0715d83 commit fa03ccf

1 file changed

Lines changed: 30 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,35 +88,48 @@ jobs:
8888
TARGET_DIR="/www/wwwroot/java/openblog"
8989
TARGET_JAR="$TARGET_DIR/OpenBlog-business-1.0.0-SNAPSHOT.jar"
9090
JAVA_HOME="/www/server/java/jdk-17.0.8"
91-
92-
# 停止旧进程
93-
OLD_PID=$(ps aux | grep 'OpenBlog-business' | grep -v grep | awk '{print $2}')
94-
if [ -n "$OLD_PID" ]; then
95-
echo "Stopping old process (PID: $OLD_PID)..."
96-
kill $OLD_PID
97-
sleep 5
98-
# 如果还没停,强制 kill
99-
if kill -0 $OLD_PID 2>/dev/null; then
100-
kill -9 $OLD_PID
101-
sleep 2
102-
fi
91+
SERVICE_NAME="openblog"
92+
93+
# 确保 systemd service 文件存在
94+
if [ ! -f /etc/systemd/system/${SERVICE_NAME}.service ]; then
95+
cat > /etc/systemd/system/${SERVICE_NAME}.service << 'SVC'
96+
[Unit]
97+
Description=OpenBlog Backend
98+
After=network.target
99+
100+
[Service]
101+
Type=simple
102+
User=root
103+
WorkingDirectory=/www/wwwroot/java/openblog
104+
ExecStart=/www/server/java/jdk-17.0.8/bin/java -jar -Xmx1024M -Xms256M /www/wwwroot/java/openblog/OpenBlog-business-1.0.0-SNAPSHOT.jar
105+
Restart=on-failure
106+
RestartSec=10
107+
StandardOutput=append:/www/wwwroot/java/openblog/app.log
108+
StandardError=append:/www/wwwroot/java/openblog/app.log
109+
110+
[Install]
111+
WantedBy=multi-user.target
112+
SVC
113+
systemctl daemon-reload
103114
fi
104115
116+
# 停止旧服务
117+
systemctl stop ${SERVICE_NAME} || true
118+
105119
# 备份旧 jar
106120
if [ -f "$TARGET_JAR" ]; then
121+
mkdir -p "$TARGET_DIR/backup"
107122
cp "$TARGET_JAR" "$TARGET_DIR/backup/OpenBlog-business-$(date +%Y%m%d-%H%M%S).jar" 2>/dev/null || true
108123
fi
109124
110125
# 复制新 jar
111-
mkdir -p "$TARGET_DIR/backup"
112126
cp "$JAR_FILE" "$TARGET_JAR"
113127
114-
# 启动新进程
115-
cd "$TARGET_DIR"
116-
nohup $JAVA_HOME/bin/java -jar -Xmx1024M -Xms256M "$TARGET_JAR" > app.log 2>&1 &
128+
# 启动服务
129+
systemctl start ${SERVICE_NAME}
117130
118131
echo "Deployed $JAR_FILE → $TARGET_JAR"
119-
echo "New PID: $!"
132+
systemctl status ${SERVICE_NAME} --no-pager || true
120133
121134
build-frontend:
122135
needs: changes

0 commit comments

Comments
 (0)