49 · 实战案例(二)——自动化开发工作流
“每次提交代码后,都要手动跑测试、检查代码风格、更新文档、部署预览环境……这一套下来至少半小时,太浪费时间了。”
软件开发中有太多重复性的工作:代码审查、运行测试、构建部署、生成报告。如果把这些工作都交给Hermes,你的开发效率至少提升3倍。
这篇文章带你搭建一个完整的自动化开发工作流:从代码提交到自动审查、测试、部署,再到生成报告,全部由Hermes自动完成。
一、代码审查 + 自动测试 + 部署Pipeline
1. 创建代码审查Skill
hermes skill create code_review编辑~/.hermes/skills/code_review/skill.yaml:
name:code_reviewdescription:自动审查代码变更parameters:type:objectproperties:repo_path:type:stringdescription:仓库路径branch:type:stringdescription:要审查的分支required:-repo_path-branchrun:type:pythoncode:|from hermes_tools import terminal, write_file, send_messagerepo = params["repo_path"]branch = params["branch"]# 1. 获取变更文件列表result = terminal(f"cd{repo}&&git diff--name-only origin/main...{branch}") changed_files = result.strip().split("\n")# 2. 逐个审查变更review_report = "# 代码审查报告\n\n"review_report += f"**仓库**:{repo}\n"review_report += f"**分支**:{branch}\n"review_report += f"**变更文件**:{len(changed_files)}个\n\n" issues_found = 0 for file in changed_files[:10]:# 限制审查数量if file.endswith((".py",".js",".ts",".rs",".go")):diff = terminal(f"cd{repo}&&git diff origin/main...{branch}--{file}") review_report += f"## {file}\n\n"review_report += f"```diff\n{diff[:2000]}\n```\n\n" review_report += "**审查意见**:\n"# 基础检查if "TODO" in diff or "FIXME" in diff:review_report += "-⚠️ 包含TODO/FIXME标记,建议在合并前处理\n" issues_found += 1if "print(" in diff and file.endswith(".py"):review_report += "-⚠️ 包含print调试语句,建议移除或替换为logging\n" issues_found += 1review_report += f"\n**总计**:发现{issues_found}个待处理问题\n"# 3. 保存报告report_path = f"{repo}/review_report_{branch.replace('/','_')}.md" write_file(report_path,review_report)# 4. 通知团队send_message("slack",f"📋 代码审查完成:{branch}分支发现{issues_found}个问题") return review_report2. 自动测试Pipeline
创建自动测试Skill,在代码合并前自动运行测试:
fromhermes_toolsimportterminal,send_messagedefrun_test_pipeline(repo_path:str,branch:str):# 1. 切换到指定分支terminal(f"cd{repo_path}&& git checkout{branch}&& git pull"