```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(base): 修改部署脚本中的文件名处理逻辑

- 移除随机文件名生成,直接使用原始文件名进行远程路径构建
- 删除时间戳相关逻辑,简化screen会话启动命令
- 添加文件名参数替换,确保日志文件命名正确
```
This commit is contained in:
昔念
2026-03-03 13:16:35 +08:00
parent ed40364f09
commit 8713f992a1

View File

@@ -172,8 +172,8 @@ func (s *ServerHandler) executeFullDeployment() error {
s.sendTerminalOutput(s.session.WebSocket, fmt.Sprintf("【前置检查】有效下载链接:%s", fileURL))
// 2. 生成目标文件路径
randomFileName := s.generateRandomFileName()
remoteExePath := fmt.Sprintf("%s/%s", defaultWorkDir, randomFileName)
//randomFileName := s.generateRandomFileName()
remoteExePath := fmt.Sprintf("%s/%s", defaultWorkDir, filename)
remoteWorkDir := defaultWorkDir
onlineID := fmt.Sprintf("%d", s.ServerList.OnlineID)
fixedScreenSession := "logic"
@@ -282,13 +282,9 @@ fi
# ===== 启动新程序 =====
echo "设置执行权限:%s{exe_path}"
chmod +x "%s{exe_path}" || { echo "❌ 设置权限失败"; exit 1; }
# 定义时间戳(格式:年-月-日_时-分-秒,比如 2026-03-03_15-30-25
timestamp=$(date +"%Y-%m-%d_%H-%M-%S")
echo "启动Screen会话[%s{screen_name}]..."
# 4. 启动screen会话修复引号转义让timestamp变量正确传递
screen -dmS "%s{screen_name}" bash -c '
"%s" -id=%s 2>&1 | tee -a "$HOME/run_%s.log"
' "%s{exe_path}" "%s{online_id}" "${timestamp}"
screen -dmS "%s{screen_name}" bash -c '"%s{exe_path}" -id=%s{online_id} 2>&1 | tee -a "$HOME/run_%s{randomFileName}.log"'
sleep 2
if screen -ls | grep -q "%s{screen_name}"; then
@@ -309,7 +305,7 @@ echo "#SCRIPT_EXECUTION_COMPLETE#"
deploymentScript = strings.ReplaceAll(deploymentScript, "%s{file_url}", fileURL)
deploymentScript = strings.ReplaceAll(deploymentScript, "%s{exe_path}", remoteExePath)
deploymentScript = strings.ReplaceAll(deploymentScript, "%s{online_id}", onlineID)
deploymentScript = strings.ReplaceAll(deploymentScript, "%s{randomFileName}", filename)
// 5. 执行脚本
_, err := s.executeScript(deploymentScript, "full_deployment_"+grand.S(10))
if err != nil {