Vue.js Vue Cypress和Gitlab CI/CD

Vue.js Vue Cypress和Gitlab CI/CD,vue.js,continuous-integration,gitlab,gitlab-ci,cypress,Vue.js,Continuous Integration,Gitlab,Gitlab Ci,Cypress,我目前正试图让我的E2E测试通过他们的CI/CD平台在Gitlab上运行 我目前的问题是,我不能同时运行dev服务器和cypress,这样E2E测试就可以运行了 这是我当前的.gitlab ci.yml文件: image: node variables: npm_config_cache: "$CI_PROJECT_DIR/.npm" CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" cache: key: ${CI_CO

我目前正试图让我的E2E测试通过他们的CI/CD平台在Gitlab上运行

我目前的问题是,我不能同时运行dev服务器和cypress,这样E2E测试就可以运行了

这是我当前的
.gitlab ci.yml
文件:

image: node

variables:
  npm_config_cache: "$CI_PROJECT_DIR/.npm"
  CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress"

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - .npm
    - cache/Cypress
    - node_modules

stages:
  - setup
  - test

setup:
  stage: setup
  image: cypress/base:10
  script:
    - npm ci
    # check Cypress binary path and cached versions
    # useful to make sure we are not carrying around old versions
    - npx cypress cache path
    - npx cypress cache list

cypress:
  stage: test
  image: cypress/base:10
  script:
    # I need to start a dev server here in the background
    - cypress run --record --key <my_key> --parallel
  artifacts:
    when: always
    paths:
      - cypress/videos/**/*.mp4
      - cypress/screenshots/**/*.png
    expire_in: 7 day
图像:节点
变量:
npm_配置_缓存:“$CI_项目_目录/.npm”
CYPRESS\u缓存文件夹:“$CI\u项目\u目录/CACHE/CYPRESS”
隐藏物:
键:${CI\u COMMIT\u REF\u SLUG}
路径:
-.npm
-高速缓存/柏树
-节点单元
阶段:
-设置
-试验
设置:
阶段:设置
图片:柏树/底座:10
脚本:
-npm ci
#检查Cypress二进制路径和缓存版本
#有助于确保我们没有携带旧版本
-npx cypress缓存路径
-npx cypress缓存列表
柏树:
阶段:测试
图片:柏树/底座:10
脚本:
#我需要在后台启动一个dev服务器
-cypress运行--记录--键--并行
人工产品:
时间:总是
路径:
-cypress/videos/***.mp4
-cypress/screenshots/***.png
过期时间:7天
在中,有一个for。
它使用命令npm run start:ci&在后台运行dev服务器。

因此,您的
.gitlab ci.yml
可能如下所示:

⋮
cypress:
  image: cypress/base:10
  stage: test
  script:
    - npm run start:ci &      # start the server in the background
    - cypress run --record --key <my_key> --parallel
⋮
⋮
柏树:
图片:柏树/底座:10
阶段:测试
脚本:
-npm运行启动:ci&#在后台启动服务器
-cypress运行--记录--键--并行
⋮

或使用此实用程序启动服务器,等待URL响应,然后运行测试并关闭服务器