我试过的一个配置是这样的:
“`yaml
# .claude-workflow.yaml – 我的第一个自动化工作流
name: “代码审查与修复”
version: “1.0”
steps:
– name: “分析代码”
trigger: “file_change”
actions:
– type: “analyze”
target: “src/**/*.py”
rules:
– “检查未使用的导入”
– “检查潜在的None引用”
– name: “自动修复”
depends_on: [“分析代码”]
actions:
– type: “fix”
auto_approve: true
severity: “warning”
“`
`auto_approve: true`这个参数是关键。我第一次没加,结果每个修复都要手动确认,一个50个文件的仓库跑了一个小时。加上之后,处理单个文件从3秒多降到了不到1秒,快了好几倍。这个参数救了我的命。
后来我发现,用`strategy: minimal`效果最好。如果改成`aggressive`,Claude Code会试图重写整个函数,经常改出bug。最小策略只修复具体问题,成功率提升了不少,基本不会出错了。对了,我还试过把`max_findings`设成10,我一开始搞错了,结果一个3000行的文件找出了47个“潜在问题”,其中一半都是误报。设小了反而效率高,真是哭笑不得。
说到部署,这个真是一把辛酸泪。我之前的做法是手动SSH到服务器,一步步操作,经常搞错。用上Claude Code后,直接定义了一个部署工作流:
“`yaml
name: “auto-deploy”
version: “3.0”
steps:
– name: “validate_env”
trigger: “manual”
actions:
– type: “check”
checks:
– “Docker是否运行”
– “磁盘空间>5GB”
– “内存>1GB空闲”
fail_fast: true
error_message: “环境检查失败,部署中止”
– name: “build”
depends_on: [“validate_env”]
actions:
– type: “run”
command: “docker build -t myapp:latest .”
timeout: 300
retry: 2
– name: “deploy”
depends_on: [“build”]
actions:
– type: “ssh”
host: “${DEPLOY_HOST}”
commands:
– “docker stop myapp || true”
– “docker rm myapp || true”
– “docker run -d –name myapp -p 8080:80 myapp:latest”
rollback:
– “docker run -d –name myapp -p 8080:80 myapp:previous”
– name: “health_check”
depends_on: [“deploy”]
actions:
– type: “http_check”
url: “https://myapp.com/health”
expected_status: 200
timeout: 60
interval: 5
max_retries: 12
“`
这个工作流最妙的点是`rollback`。我第一次部署失败时,Claude Code自动回滚到上一个版本,整个过程用了不到30秒。要是手动操作,至少得花5分钟去找备份镜像。虽然好用,但有时候也挺让人抓狂的。我试过一次因为环境变量没配好,整个流程都崩了,盯着那串红色的错误日志,感觉比手动部署还累。后来还得手动去修,真是哭笑不得。不过话说回来,这玩意儿配置起来还是挺麻烦的,尤其是刚开始时容易踩坑。但一旦跑顺了,真的省心很多。