hook¶
简介¶
系统钩子程序设置。
vb hook SUBCOMMAND...
说明¶
在 VisionByte 系统中,钩子是响应仓库中的特定事件或操作而自动执行的脚本或命令。允许自定义和扩展仓库的行为,提供自动化并执行策略。
应用场景
自动化
提交前自动化:在提交完成之前运行脚本或命令。例如,您可以自动格式化代码、运行单元测试或检查某些条件。
提交后操作:提交后执行任务,例如触发持续集成构建、通知团队成员或更新相关系统。
政策执行
提交验证:确保提交信息遵循特定格式或代码符合某些标准。例如,您可以强制要求所有提交信息都包含对错误编号的引用。
质量检查:在允许提交之前自动验证代码质量、运行 linting 工具或执行静态分析。
一体化
通知系统:与外部通知系统集成,例如在发生某些事件时向聊天平台(例如 Slack)发送电子邮件或消息。
外部服务:更新或同步外部系统或服务,例如部署管道、错误跟踪器或监控系统。
定制
工作流程定制:自定义仓库行为以适应特定工作流程或项目要求。挂钩允许您执行自定义脚本,以使仓库的行为适应您的需求。
子命令¶
add¶
vb hook add --command COMMAND --type TYPE --sequence NUMBER
创建一个新的钩子。--command
和 --type
参数是必需的。--sequence
是可选的。
选项说明:
--command COMMAND
:指定触发钩子时要执行的命令或脚本。这是响应事件而运行的实际可执行脚本或命令。--type TYPE
:定义正在设置的钩子类型。可能的值包括:
pre-commit
:在提交完成之前运行;
post-commit
:提交后运行;
pre-update
:在仓库更新之前运行;
post-update
:在仓库更新后运行。
--sequence NUMBER
:指定当存在多个相同类型的钩子时钩子的执行顺序。序列号较低的钩子先于序列号较高的钩子运行。
delete¶
vb hook delete ID...
根据 ID 删除一个或多个钩子。ID 可以是 all
,表示删除所有钩子。注意:此操作无法执行 undo 命令,删除的钩子将永久丢失。
edit¶
vb hook edit --command COMMAND --type TYPE --sequence NUMBER ID...
对一个或多个现有钩子进行更改。ID 参数可以是钩子 ID、钩子 ID 列表或关键字 all
。例如,要禁用钩子编号 2,请使用:
vb hook edit --type disabled 2
list¶
vb hook list
显示所有当前钩子。
status¶
vb hook status
打印与钩子处理相关的 CONFIG 表条目的值。用于调试。
test¶
vb hook test [OPTIONS] ID
运行由 ID 指定的钩子脚本以进行测试。
选项¶
|
试运行,不执行任何操作,但显示将发生的情况。 |
|
假设 |
|
假设最后一个 rcvid 值为 M |
|
脚本中的 NAME 替换了 |
如果钩子类型不是 after-receive
,则 --base-rcvid
和 --new-rcvid
选项将被忽略。 --base-rcvid
和 --new-rcvid
的默认值会导致处理最后一次接收。