跳过不含测试的作业中的步骤

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

我根据自己的域(用户,菜单,时间轴...)将我所有的赛普拉斯测试划分为Gitab CI的各种作业,我可以并行执行所有这些作业。

[问题是我在cypress:user作业中拥有这个:enter image description here

因此,这项工作比预期的花费了更多的时间。例如,未执行任何测试的作业将花费15分钟...

这是启动作业的命令:

docker run -v $PWD:/e2e -w /e2e --link=_nginx:myurl.test --net=_default cypress/included:3.4.0 node ./node_modules/.bin/cypress-tags run -e TAGS="${FEATURE_TAGS}" --config baseUrl=https://myurl.test --reporter junit --reporter-options "mochaFile=cypress/reports/[hash].xml"

也许有人知道如何禁用工作中那些无用的步骤。谢谢。

git testing continuous-integration gitlab gitlab-ci
1个回答
1
投票

仅当特定目录中有changes时,才可以触发作业。

例如,如果您有2个工作,一个工作用于用户测试,另一个工作用于菜单测试,则可以有如下内容:

cypress_user:
  stage : test
  script: echo "executing my user tests"
  only:
    changes:
      - dir_where_user_tests_are_stored/

cypress_menu:
  stage : test
  script: echo "executing my menu tests"
  only:
    changes:
      - dir_where_menu_tests_are_stored/

[cypress_user job仅在文件在dir_where_user_tests_are_stored中更改时执行,而cypress_menu job在文件在dir_where_menu_tests_are_stored中更改时才执行>

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