원클릭으로
dootask-update
更新已部署的 DooTask:前置检查后执行 `sudo ./cmd update`(拉代码 + composer + 迁移 + 重启),本地有改动时停下交用户决定,不自动强制、失败即停。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
更新已部署的 DooTask:前置检查后执行 `sudo ./cmd update`(拉代码 + composer + 迁移 + 重启),本地有改动时停下交用户决定,不自动强制、失败即停。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
从 `pro` 分支发布 DooTask 前端新版本:翻译 → 版本号/更新日志 → 构建 → 提交推送,刚性顺序、每步确认、失败即停。
修复 DooTask 可写目录(bootstrap/cache、docker、public、storage)的属主/权限:chown 回当前用户 + 目录 chmod 775,对齐 install 的赋权逻辑,赋权不删数据。
首次部署 DooTask:前置检查后执行 `sudo ./cmd install`(建库 + migrate --seed 的重操作),刚性流程、单次确认、失败即停。
| name | dootask-update |
| description | 更新已部署的 DooTask:前置检查后执行 `sudo ./cmd update`(拉代码 + composer + 迁移 + 重启),本地有改动时停下交用户决定,不自动强制、失败即停。 |
刚性技能——前置检查 → 向用户确认一次 → 执行 → 报告结果。任何一步失败立即停止。
违反字面规则 = 违反流程精神。 不要擅自加步骤、绕过 sudo/确认,尤其不要替用户决定强制更新(会丢本地改动)。
./cmd update 已封装整套更新(检测本地改动→git fetch→必要时备份库→git pull/reset→composer install→migrate→重启 php+nginx→写 UPDATE_TIME)。本技能职责是更新前把关、选对参数、处理本地改动这一关键岔路、执行前确认。
vendor/autoload.php(脚本会查,没装则报"请先执行安装命令"——此时引导用户走 dootask-install)--branch <分支>。若用户没说,确认是否就更新当前分支git status 看是否有未提交改动sudo ./cmd update 需 root检查通过后汇报结果,向用户确认一次再执行。
脚本检测到本地改动时会询问是否强制更新。强制更新 = git reset --hard origin/<分支>,会丢弃所有本地改动。
--force--force| 参数 | 作用 | 何时用 |
|---|---|---|
--branch <分支> | 切到指定分支再更新 | 用户要换分支(如切 dev/pro) |
--force | 强制更新:git checkout -f + git reset --hard | 危险:仅用户明确接受"丢弃本地改动"后 |
--local | 本地更新模式:只备份库 + migrate + 重启,不拉远程代码 | 代码已就位(如手动改过/CI 拉过),只需迁移+重启 |
database/ 目录有迁移变动会自动备份数据库再继续——这是脚本内置的,无需手动。./cmd mysql backup 额外备份。确认(含本地改动决策)后执行:
sudo ./cmd update
# 切分支: sudo ./cmd update --branch pro
# 强制(丢改动,用户确认后): sudo ./cmd update --force
# 本地模式: sudo ./cmd update --local
成功后报告:更新到的分支、是否做了库备份/迁移、服务是否重启完成。
git pull 失败就自己改成 --force请先执行安装命令 → 走 dootask-install代码拉取失败,可能存在冲突 → 报告,让用户决定是否 --force(丢改动)或先处理冲突down 后重起;若仍失败,报告交用户| 错误做法 | 正确做法 |
|---|---|
检测到本地改动就自动 --force | 停下,报告改动,交用户决定 |
git pull 失败就自动改用 --force | 报告冲突,交用户 |
| 不加 sudo | sudo ./cmd update |
| 未装就更新 | 先走 dootask-install |
| 失败后自动重试/跳过 | 立即停止 |
--force 会丢改动,必须用户拍板vendor/autoload.php 在