gitlab ci 不能在脚本中使用变量
Posted
技术标签:
【中文标题】gitlab ci 不能在脚本中使用变量【英文标题】:gitlab ci couldn't use variables in script 【发布时间】:2021-09-07 19:56:14 【问题描述】:我想在 gitlab 上运行测试。我正在使用一个简单的 yml 文件,但我想发送路径以通过变量进行测试。但是当我运行这个工作时,我得到了错误: $ npm run mocha "$TEST_VAR" --timeout=1200000 --reporter mocha-allure-reporter npm 错误!缺少脚本:“mocha”
image: node:latest
cache:
paths:
- node_modules/
stages:
- setup
- test
setup:node_modules:
stage: setup
script:
- npm install
artifacts:
paths:
- node_modules/
- package-lock.json
test:
stage: test
variables:
TEST_VAR: "test/test.js"
script:
- echo "$TEST_VAR"
- npm run mocha "$TEST_VAR" --timeout=1200000 --reporter mocha-allure-reporter
dependencies:
- setup:node_modules
【问题讨论】:
【参考方案1】:错误信息npm ERR! Missing script: "mocha"
实际上是说npm在package.json的scripts
块中找不到名为“mocha”的脚本。
如果您希望使用变量直接从 .gitlab-ci.yml 运行 mocha,而不是在 package.json 的脚本块中编写脚本,那么这可能是您正在寻找的更多内容:
test:
stage: test
variables:
TEST_VAR: "test/test.js"
script:
- echo "$TEST_VAR"
- npm i mocha -g
- npm i mocha-allure-reporter -g
- mocha "$TEST_VAR" --timeout=1200000 --reporter mocha-allure-reporter --exit
dependencies:
- setup:node_modules
【讨论】:
以上是关于gitlab ci 不能在脚本中使用变量的主要内容,如果未能解决你的问题,请参考以下文章
如何将 exe 输出分配给 gitlab ci 脚本中的变量?