如何为Cypress GitHub Action启动的服务器添加环境变量
解决Cypress GitHub Action传递环境变量给后台服务器的问题
要将环境变量传递给Cypress后台启动的服务器,不能使用action参数里的env(它只会传递给Cypress进程),也不建议直接在start命令里拼接export语句,正确方式是在step级别添加独立的env块:
正确配置示例
- name: Running e2e tests uses: cypress-io/github-action@v6 env: VAR: VAL ANOTHER_VAR: ANOTHER_VAL with: start: sbt run command: npm run e2e:run-ci
无效方法说明
- 使用action的
with.env参数:该参数仅负责给Cypress测试进程注入环境变量,不会传递给start命令启动的后台服务器进程。 - 在
start中写export VAR=VAL && sbt run:GitHub Actions的start命令默认在非交互式shell执行,这种写法可能无法让sbt进程正确继承变量,导致读取失败。
通过step的env块定义变量后,整个step的执行环境都会加载这些变量,start启动的服务器进程自然就能读取到对应环境变量。
内容的提问来源于stack exchange,提问作者ndeverge
相关产品推荐
相关产品推荐

