首页 > 解决方案 > Circleci + cypress:如何在不提交到 github 的情况下更改 config.yml?

问题描述

我正在寻找一种方法来方便地在 Circleci 上仅运行一组特定的赛普拉斯规范文件。我可以通过在 Cypress.json 文件中指定规范文件在本地执行此操作,但我不想在本地运行这些文件,因为它会阻止我在测试运行时使用我的计算机。我可以通过在 config.yml 中列出哪些文件来指定在 circleci 上运行的文件。但是,这种方法的问题在于,每次我想运行一组不同的规范文件时,我都必须将 PR 推送到 github(无意将此更改合并到 repo)。

我在circle 的论坛上发现了这个有潜在解决方案的讨论: https ://discuss.circleci.com/t/efficiently-testing-configuration-file-migrating-to-2-0/11620

我尝试实现它,但在 circleci 上构建失败,因为它一直错误地读取我的 config.yml 文件。

例如,

version: 2.1
orbs:
  cypress: cypress-io/cypress@1
executors:
  latest-chrome:
    docker:
      - image: "cypress/browsers:node14.7.0-chrome84"
workflows:
  build:
    jobs:
      - cypress/run:
          executor: latest-chrome
          browser: chrome
          spec: 
            "cypress/integration/test_lab.js,\
            cypress/integration/example/example.js"

在 circleci 上转换为这个:

version: 2.1
orbs: {cypress: cypress-io/cypress@1}
executors:
  latest-chrome:
    docker:
    - {image: 'cypress/browsers:node14.7.0-chrome84'}
workflows:
  version: 2
  build:
    jobs:
    - build: {}

请注意,当我将 config.yml 推送到 github 时,它会正确构建 - 只是在我使用上面提供的链接中提到的方法时不会。

标签: cypresscircleci

解决方案


推荐阅读