替换错误:将env中的密钥移到yml文件

时间:2019-07-01 22:47:50

标签: environment-variables yaml cypress circleci

我目前正在为我的项目在CircleCI中运行赛普拉斯的测试。我有赛普拉斯的记录密钥,需要将其存储在process.env文件中,并将其转移到我的config.yml文件中。

我真的找不到适合我需要的东西。

我也遇到了错误:

/bin/bash: ${process.env.CYPRESS_RECORD_KEY}: bad substitution

这是我的代码:

.circleci/config.yml/

version: 2
jobs:
  build:
    docker:
      - image: cypress/browsers:chrome67
    steps:
      - checkout
      - run:
          name: Install Dependencies
          command: npm ci
          paths:
            - ~/.npm
            - ~/.cache
      - run: npm install --save-dev cypress
      - run: node_modules/.bin/cypress verify
      - run: node_modules/.bin/cypress run --browser chrome --record ${process.env.CYPRESS_RECORD_KEY}

.env

CYPRESS_RECORD_KEY = <my_key_here>

通过四处移动来重试它,仍然出现相同的错误:

version: 2
jobs:
  build:
    docker:
      - image: cypress/browsers:chrome67
    steps:
      - checkout
      - run: 
          name: "setup custom environment variables"
          command: 
            echo ${process.env.CYPRESS_RECORD_KEY} >> $BASH_ENV
      - run:
          name: Install Dependencies
          command: npm ci
          paths:
            - ~/.npm
            - ~/.cache
      - run: npm install --save-dev cypress
      - run: node_modules/.bin/cypress verify
      - run: node_modules/.bin/cypress run --browser chrome --record $BASH_ENV

不确定如何正确携带它。

1 个答案:

答案 0 :(得分:0)

截至2019年7月9日,赛普拉斯仍不支持录制无头Chrome(仅在命令行中运行)。即使我有记录密钥,我也无法使用它,因为在无头模式下,他们仍然无法进行无头Chrome支持记录或像Electron这样的工具。

我唯一的解决方案是我运行要在本地记录的测试,但我只是让它们在命令行中通过,并希望赛普拉斯能够很快实现记录。