一键导入
deploy-server
将 server 后端新版本构建并部署到服务器;当用户要求更新测试环境或正式环境时使用。测试环境部署到 golakers:~/ptmate-beta 并直接运行;正式环境先停止 ptmate 服务,部署到 golakers:~/ptmate 后再启动 ptmate 服务。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
将 server 后端新版本构建并部署到服务器;当用户要求更新测试环境或正式环境时使用。测试环境部署到 golakers:~/ptmate-beta 并直接运行;正式环境先停止 ptmate 服务,部署到 golakers:~/ptmate 后再启动 ptmate 服务。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Capture and show two Flutter UI screenshots for this project: one landscape/large-screen preview and one portrait/mobile preview, without using Flutter Web.
自动化项目的版本发布流程,包括版本号自增、ChangeLog 提取与汇总、代码提交、打标签以及推送到远程仓库。
适配 NexusPHPWeb 类型站点的站点配置与 infoFinder 字段编写。需要检查 `assets/sites_manifest.json` 中站点 id 是否存在,缺失时先调用 Add Site 技能创建配置文件,然后依据 `docs/SITE_CONFIGURATION_GUIDE.md` 与 `assets/site_configs.json` 的 NexusPHPWeb 模板生成或更新 `infoFinder`,并用用户提供的 cookie 抓取静态页面信息时使用。
自动化项目的版本发布流程,包括版本号自增、ChangeLog 提取与汇总、代码提交、打标签以及推送到远程仓库。
Create a new site configuration, update the manifest, and fetch icons.
| name | deploy-server |
| description | 将 server 后端新版本构建并部署到服务器;当用户要求更新测试环境或正式环境时使用。测试环境部署到 golakers:~/ptmate-beta 并直接运行;正式环境先停止 ptmate 服务,部署到 golakers:~/ptmate 后再启动 ptmate 服务。 |
用于把 server 中的新版本更新到远程服务器。
golakersserver/ptmate-servergolakers:~/ptmate-betagolakers:~/ptmatePTMATE_BETA_URLPTMATE_PROD_URL真实访问地址必须从本地环境变量读取,不要写入仓库文件,避免提交到 GitHub 后公开。
server:cd server && ./build.sh
server/ptmate-server 已生成。按用户要求,测试环境不使用 systemctl,复制到 ~/ptmate-beta 后进入目录直接运行二进制。默认用 nohup 后台启动,并写入 PID 文件,确保部署命令能结束,且后续可以主动停止。
scp server/ptmate-server golakers:~/ptmate-beta/ptmate-server
ssh golakers 'cd ~/ptmate-beta && chmod +x ptmate-server && nohup ./ptmate-server > ptmate-server.log 2>&1 & echo $! > ptmate-server.pid'
如果用户明确要求前台运行,使用:
ssh golakers 'cd ~/ptmate-beta && chmod +x ptmate-server && ./ptmate-server'
因为测试环境默认通过 nohup 后台运行,如果不主动停止会一直运行。停止测试环境时优先使用 PID 文件:
ssh golakers 'cd ~/ptmate-beta && if [ -f ptmate-server.pid ]; then kill "$(cat ptmate-server.pid)" && rm -f ptmate-server.pid; fi'
如果 PID 文件不存在或进程已经不是该 PID,使用工作目录筛选兜底,避免误杀正式环境:
ssh golakers 'cd ~/ptmate-beta && for pid in $(pgrep -f ptmate-server || true); do [ "$(readlink /proc/$pid/cwd 2>/dev/null)" = "$PWD" ] && kill "$pid"; done; rm -f ptmate-server.pid'
更新测试环境时,先停止旧进程,再复制和启动新版本:
ssh golakers 'cd ~/ptmate-beta && if [ -f ptmate-server.pid ]; then kill "$(cat ptmate-server.pid)" 2>/dev/null || true; rm -f ptmate-server.pid; fi; for pid in $(pgrep -f ptmate-server || true); do [ "$(readlink /proc/$pid/cwd 2>/dev/null)" = "$PWD" ] && kill "$pid"; done'
scp server/ptmate-server golakers:~/ptmate-beta/ptmate-server
ssh golakers 'cd ~/ptmate-beta && chmod +x ptmate-server && nohup ./ptmate-server > ptmate-server.log 2>&1 & echo $! > ptmate-server.pid'
完成后提示用户可以访问测试环境新版本:
echo "测试环境新版本已部署,可以访问:${PTMATE_BETA_URL}"
正式环境必须先停止 ptmate 服务,再复制新产物,最后启动服务。
ssh golakers 'systemctl stop ptmate'
scp server/ptmate-server golakers:~/ptmate/ptmate-server
ssh golakers 'cd ~/ptmate && chmod +x ptmate-server && systemctl start ptmate'
完成后提示用户可以访问正式环境新版本:
echo "正式环境新版本已部署,可以访问:${PTMATE_PROD_URL}"
PTMATE_BETA_URL 和 PTMATE_PROD_URL 获取;如果环境变量未设置,先提醒用户设置,不要猜测或补写真实地址。systemctl 权限不足,按终端报错处理;需要 sudo 时先说明将要执行的命令。scp 或 ssh 失败,保留错误输出并告知用户部署未完成,不要提示“可以访问新版本”。