我是 Gitlab CI 的新手,我正在尝试在提交时自动测试我的应用程序。
我不知道它是如何工作的,我知道它使用 docker 映像并运行您想要的命令。
我选择 node:8 图像开始(我正在做一个电子项目,也许有更好的图像)
问题是,如果我在我的计算机上运行命令“npm test”,它运行良好并且所有测试都通过,但它不适用于 gitlab ci 作业,我不知道为什么。
我在windows上开发这个,docker镜像使用linux,这可能是个问题吗?
该错误总是发生在 ChromeDriver 上。我查看了文件夹,发现只有一个exe,所以我下载了驱动程序的linux发行版并将其插入其中。我还在运行测试之前执行了驱动程序(在我的计算机中这不是必需的,它会自动执行),但仍然得到相同的错误。
我很迷茫。有什么替代方法可以工作吗?也许另一个码头形象?
我的 gitlab-ci.yml:
variables:
VERSION_ID: '1.0.$CI_PIPELINE_ID'
stages:
- build
build:
image: node:8
stage: build
artifacts:
paths:
- $CI_PROJECT_DIR/dist/*.*
script:
- apt-get update
- apt-get -y install libnss3-dev
- npm install
- chmod 0777 ./node_modules/.bin/mocha
- chmod 0777 ./node_modules/electron-chromedriver/bin/chromedriver
- ./node_modules/electron-chromedriver/bin/chromedriver&
- npm test