You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab Runner中无法获取失败测试视频制品,求解决方案

问题分析与解决

核心问题

你的Docker挂载配置存在两个关键错误,导致视频文件没有同步到GitLab CI的videos/目录中:

  • 路径拼写错误:挂载命令里的cypres少了一个s,正确路径应为cypress
  • 挂载方向错误:当前挂载未将容器内的视频目录映射到CI runner的videos/目录,而是创建了匿名卷,无法同步文件到指定位置

修正步骤

1. 修复Docker Run命令

将原命令的挂载部分修改为绑定容器内视频目录到CI runner的./videos目录,同时修正拼写错误:

docker run --name e2e -v "$(pwd)/videos:/e2e/cypress/videos" --network project-0_default project-0_e2e:latest
  • -v "$(pwd)/videos:/e2e/cypress/videos":把CI runner当前目录下的videos目录,和容器内的/e2e/cypress/videos目录绑定,容器生成的视频会直接同步到runner的videos目录
  • 移除-w ./videos参数,Cypress会默认将视频输出到/e2e/cypress/videos,无需指定容器工作目录

2. 验证目录权限(可选)

如果修正后仍无文件,可能是权限问题,可在CI脚本中添加权限设置:

script:
  - mkdir -p videos
  - chmod 777 videos  # 确保目录具备写入权限
  - sh test.sh

3. 确认制品配置

当前的artifacts配置是正确的,只要videos/目录下有文件,构建失败时就会被捕获为制品:

artifacts:
  paths:
    - videos/
  when: on_failure

验证逻辑

修正后,容器内生成的/e2e/cypress/videos/register.spec.js.mp4会同步到CI runner的./videos目录,GitLab CI会在构建失败时将该目录作为制品上传,你就能下载到包含视频文件的压缩包。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 10:15:50