如何使用gitlab-ci-multi-runner在GitLab CI中自动运行测试

err*_*337 8 unit-testing angularjs karma-runner gitlab-ci

我开始使用gitlab-ci-runner-for Windows(64位)来使用GitLab CI.到目前为止一切正常,有与我的存储库的连接,我的配置工作在每次推送时开始.

我现在要做的是让一个作业运行npm install以下载所有依赖项,一个作业通过运行karma start karma.conf.js或使用grunt并运行来执行我用karma/jasmine编写的所有测试grunt test.

所以我尝试的第一份工作是:

cd app
npm install
karma start karma.conf.js
Run Code Online (Sandbox Code Playgroud)

前两个命令被执行,但最后一个命令被完全忽略.所以我试图分开工作.第一个命令获得自己的工作(选项卡"并行运行"),最后一个命令移动到"成功运行"选项卡中的自己的工作.现在所有依赖项都已安装,第二个作业开始.到目前为止一切顺利,但第二项工作从删除所有以前安装的依赖项开始,然后尝试运行karma start karma.conf.js.这显然最终导致所有测试都失败,因为没有下载npm依赖"angular-mocks".如果我添加npm install到第二个工作(这对我来说没有多大意义),业力任务将再次被忽略.

这里有什么问题?我怎样才能解决这个问题?有没有办法不总是下载每个测试执行的所有依赖项?

Tam*_*lyn 11

自从这个问题发布以来,Gitlab CI已经切换到使用.gitlab-ci.ymlfor config.我相信安装依赖项的推荐方法是使用before_script诸如的命令

before_script:
  - npm install

test:
  script: npm test
Run Code Online (Sandbox Code Playgroud)

  • Windows用户的小提示..."npm install"之类的命令不起作用,你必须使用"call npm install". (3认同)