Commit 413c34b1 authored by 王曜嵚 Wang Yaoqin's avatar 王曜嵚 Wang Yaoqin

Merge branch 'dev-temp' into 'dev'

dev: 提供重启容器时的重置操作;Nginx 配置增加 Websocket 处理;pm2 语句增加静默运行

See merge request !2
parents 6fb2c9b3 8a690973
<template>
<div class="project-card project-v2">
<div class="project-card project-v1">
<div class="project-card__info">
<div class="project-card__desc">
<div class="row">
......
......@@ -29,5 +29,8 @@
"@types/lodash": "^4.17.0",
"@types/pg": "^8.11.4",
"@types/tar-fs": "^2.0.4"
},
"volta": {
"node": "24.14.1"
}
}
......@@ -104,6 +104,20 @@ http {
proxy_set_header Host $http_host;
client_max_body_size 0;
}
location /websocket {
proxy_pass http://127.0.0.1:9000;
# WebSocket 必需的头信息
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
# 超时设置
proxy_read_timeout 60s;
proxy_send_timeout 60s;
}
location /vscode {
proxy_pass http://127.0.0.1:8000;
......@@ -120,5 +134,6 @@ http {
proxy_set_header Host $http_host;
client_max_body_size 0;
}
}
}
UPDATE v2
SET status = CASE
WHEN status IN ('running', 'launched', 'compiling', 'compiled', 'created') THEN 'created'
WHEN status IN ('running', 'launched', 'compiled', 'stopping') THEN 'compiled'
WHEN status IN ('compiling', 'created') THEN 'created'
ELSE NULL
END;
UPDATE v1
SET status = CASE
WHEN status IN ('running', 'launched', 'compiling', 'compiled', 'created') THEN 'created'
WHEN status IN ('running', 'launched', 'compiled', 'stopping') THEN 'compiled'
WHEN status IN ('compiling', 'created') THEN 'created'
ELSE NULL
END;
\ No newline at end of file
......@@ -78,13 +78,10 @@ export default defineEventHandler(async (event) => {
})
await LogUtil.run(username, 'v1-迁移logwire-demo', async () => {
await docker.execContainerCommand({ container, cmd: 'rm -rf /var/logwire-demo' })
await docker.execContainerCommand({ container, cmd: 'mkdir logwire-demo', dir: '/var'})
// await docker.execContainerCommand({ container, cmd: 'rm -rf /var/logwire-demo' })
// await docker.execContainerCommand({ container, cmd: 'mkdir logwire-demo', dir: '/var'})
await docker.execContainerCommand({ container, cmd: 'mkdir -p dist/projects/demo', dir: '/var/logwire-platform'})
// 避免上传太大的压缩文件,需要先在 node 服务器的 /var 目录下,上传该文件
await docker.putArchive({ container, tarPath: path.resolve('/var/book.tar'), targetPath: '/var/logwire-demo' })
await docker.execContainerCommand({ container, cmd: 'tar -zvcf ../book.tar .', dir: '/var/logwire-demo/book'})
await docker.execContainerCommand({ container, cmd: 'tar -zvxf book.tar -C /var/logwire-platform/dist/projects/demo', dir: '/var/logwire-demo'})
await docker.execContainerCommand({ container, cmd: 'git clone ssh://git@gitlab.logwire.cn:13389/wongyaqi/dev-v1-book.git', dir: '/var/logwire-platform/dist/projects/demo' })
})
await changeProjectStatus( 'v1', username, 'status', 'created')
......
......@@ -10,7 +10,7 @@ export default defineEventHandler(async (event) => {
}
LogUtil.printInfo(username, `程序停止中......`)
await changeProjectStatus( 'v1', username, 'status', 'stopping')
await docker.execContainerCommand({ container, cmd: 'pm2 delete platform', quiet: true })
await docker.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete platform 2>/dev/null || true'] })
LogUtil.printInfo(username, `程序已停止`)
await changeProjectStatus( 'v1', username, 'status', 'compiled')
})
\ No newline at end of file
......@@ -59,8 +59,8 @@ export default defineEventHandler(async (event) => {
LogUtil.print(username, `[progress] [[1;34mInfo[m] 程序启动中...... \n`)
try {
await docker.execContainerCommand({ container, cmd: 'pm2 delete backend' })
await docker.execContainerCommand({ container, cmd: 'pm2 delete gateway' })
await docker.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete backend 2>/dev/null || true'] })
await docker.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete gateway 2>/dev/null || true'] })
} catch (err) {
}
......
......@@ -10,9 +10,9 @@ export default defineEventHandler(async (event) => {
}
LogUtil.printInfo(username, `程序停止中......`)
await changeProjectStatus( 'v2', username, 'status', 'stopping')
await docker.execContainerCommand({ container, cmd: 'pm2 delete backend', quiet: true })
await docker.execContainerCommand({ container, cmd: 'pm2 delete gateway', quiet: true })
await docker.execContainerCommand({ container, cmd: 'pm2 delete compile', quiet: true })
await docker.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete backend 2>/dev/null || true'] })
await docker.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete gateway 2>/dev/null || true'] })
await docker.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete compile 2>/dev/null || true'] })
LogUtil.print(username, `程序已停止`)
await changeProjectStatus( 'v2', username, 'status', 'compiled')
......
......@@ -161,9 +161,9 @@ class Docker {
await this.execContainerCommand({ container, cmd: 'rm -f /root/.pm2/logs/gateway-error.log'})
await this.execContainerCommand({ container, cmd: 'rm -f /root/.pm2/logs/platform-out.log'})
await this.execContainerCommand({ container, cmd: 'rm -f /root/.pm2/logs/platform-error.log'})
try { await this.execContainerCommand({ container, cmd: 'pm2 delete backend' }) } catch (err) {}
try { await this.execContainerCommand({ container, cmd: 'pm2 delete gateway' }) } catch (err) {}
try { await this.execContainerCommand({ container, cmd: 'pm2 delete platform' }) } catch (err) {}
await this.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete backend 2>/dev/null || true'] })
await this.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete gateway 2>/dev/null || true'] })
await this.execContainerCommand({ container, cmd: ['/bin/sh', '-c', 'pm2 delete platform 2>/dev/null || true'] })
if (platform === 'v1') {
await this.switchJavaVersion({ container, username, version: 8 })
const statusV2 = (await getPgTableData( 'v2', username))?.status
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment