我遇到了麻烦将我的赛普拉斯测试结果保留为管道工件。我可以验证 cypress 保存报告的文件夹是否正确。
从容器到管道工作空间的卷映射可能出现问题。
bitbucket yml
pipelines:
custom:
e2e:
- step:
services:
- docker
script:
- mkdir -p cypress-reports/screenshots cypress-reports/mochawesome-report
- docker-compose -f docker-compose.e2e.yml up -d
artifacts:
- cypress-reports/**
docker 撰写 yml
services:
cypress:
build:
context: .
volumes:
- ./cypress-reports/screenshots:/cypress/screenshots
- ./cypress-reports/mochawesome-report:/mochawesome-report
假设您的
Dockerfile
具有 RUN
指令,其中的命令将在给定时间内生成预期报告:
我敢打赌你的问题源于
-d|--detach
命令之后的 docker compose up
标志:它会立即将管道运行程序 shell 与命令分离,并且因为它是管道脚本中的最后一个命令,所以管道步骤结束得很多在后台进程完成工件之前。
我建议您将
docker compose up --detach
替换为 docker compose run cypress
,这将明确等待命令结束。