使用多个命令时,运行Cypress固定化的传递参数



我有一个关于在docker容器中运行柏树的快速问题(对docker没有太多经验,如果这是一个愚蠢的问题,很抱歉(

假设我的脚本部分是这样的:

"scripts": {
"clean:reports": "rmdir /S /Q cypress\reports && mkdir cypress\reports && mkdir cypress\reports\mochareports",
"pretest": "npm run clean:reports",
"scripts": "cypress run",
"combine-reports": "mochawesome-merge cypress/reports/mocha/*.json > cypress/reports/mochareports/report.json",
"generate-report": "marge cypress/reports/mochareports/report.json -f report -o cypress/reports/mochareports",
"posttest": "npm run combine-reports && npm run generate-report",
"test" : "npm run scripts || npm run posttest"
},

我的dockerfile入口点是这样的:

ENTRYPOINT ["npm","run"]

但当我从";docker run";命令行。。。是否有一种方法可以传递参数(例如带有要执行的specfile名称的--spec param(,考虑到";测试";脚本有两个命令?

我传递的参数是否只适用于";npm运行脚本"?或者两个命令都会收到?

感谢

如果使用entrypoint,默认命令(cmd(将与之连接。因此,入口点为npm run、默认命令为(例如(test的Dockerfile只会在容器中生成npm run test

如果要覆盖默认命令或入口点(两者都有可能(,则必须使用docker run [OPTIONS] my-cypress-image npm run test --spec

如果您想运行cyprus命令,它应该是:例如docker run --entrypoint /bin/bash my-docker-image cypress run --spec

这两个选项都将导致容器很快运行,直到测试完成。您还可以选择通过docker run my-docker-image bash保持容器运行,并通过docker exec npm run test命令运行测试。

最新更新