如何配置DevSpace hook实现容器文件同步后自动运行测试?
DevSpace 每次文件同步完成自动执行测试配置方案
你之前使用的after:initialSync:${API}事件仅会在首次启动devspace dev的全量同步完成后触发一次,无法匹配后续增量文件同步的场景,需要调整事件配置适配增量同步触发需求。
正确配置示例
# DevSpace --version = 5.16.0 version: v1beta11 dev: sync: - name: ${API} # 需和hook事件中引用的名称保持一致 localSubPath: ./api containerPath: /opt/app/api # 替换为容器内实际的api目录挂载路径 imageSelector: ${APP-NAME}/${API-DEV} ... hooks: - command: | # 可按需添加短延迟确保文件完全写入容器磁盘 sleep 0.5 echo 同步完成,开始执行测试 # 替换为实际的测试执行命令,比如 npm run test:api container: imageSelector: ${APP-NAME}/${API-DEV} # 匹配指定同步配置的增量同步完成事件 events: ["after:sync:${API}"] # 开启日志输出,可在devspace控制台看到命令执行结果 logs: true ...
配置验证注意事项
- 若不确定同步配置的name,可以先将事件替换为
after:sync:*匹配所有同步完成事件,验证触发逻辑正常后再缩小匹配范围 - 若测试命令执行时间较长,可以添加
background: true参数到hook配置中,避免阻塞devspace其他运行流程 - 确认你修改的
/api目录下的文件不在同步规则的excludePaths排除列表中,避免修改操作未触发同步流程
内容的提问来源于stack exchange,提问作者strumpy_strudel
相关产品推荐
相关产品推荐

