将 Docker 化的 Cypress 测试报告保存为 Bitbucket 管道工件

问题描述 投票:0回答:1

我遇到了麻烦将我的赛普拉斯测试结果保留为管道工件。我可以验证 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
docker continuous-integration cypress docker-volume bitbucket-pipelines
1个回答
0
投票

假设您的

Dockerfile
具有
RUN
指令,其中的命令将在给定时间内生成预期报告:

我敢打赌你的问题源于

-d|--detach
命令之后的
docker compose up
标志:它会立即将管道运行程序 shell 与命令分离,并且因为它是管道脚本中的最后一个命令,所以管道步骤结束得很多在后台进程完成工件之前。

我建议您将

docker compose up --detach
替换为
docker compose run cypress
,这将明确等待命令结束。

© www.soinside.com 2019 - 2024. All rights reserved.