如何使用 gitlab-ci-multi-运行ner 在 GitLab CI 中自动 运行 测试
How to run tests automatically in GitLab CI using gitlab-ci-multi-runner
我开始使用 GitLab CI,使用 gitlab-ci-multi-运行ner for Windows(64 位)。到目前为止一切正常,与我的存储库有连接,每次推送时我配置的作业都会启动。
我现在想做的是做一份 运行s npm install
下载所有依赖项的工作 cies 和一份执行我用 [=32] 编写的所有测试的工作=] 通过 运行ning karma start karma.conf.js
或使用 g运行t 和 运行ning grunt test
.
所以我尝试的第一份工作是:
cd app
npm install
karma start karma.conf.js
前两条命令被执行,但最后一条被完全忽略。所以我试图拆分工作。第一个命令有自己的工作(选项卡 "run in parallel"),最后一个命令在选项卡 "run on success" 中移动到自己的工作。现在所有 dependencies 都安装好了,第二个工作开始了。到目前为止一切顺利,但第二项工作开始于删除所有以前安装的依赖项ci,然后尝试 运行 karma start karma.conf.js
。这显然以所有测试失败而告终,因为 npm 依赖项 "angular-mocks" 未下载。如果我将 npm install
添加到第二份工作(这对我来说意义不大),业力任务将再次被忽略。
这里有什么问题?我怎样才能解决这个问题?有没有办法不总是在每次测试执行时下载所有依赖项ci?
自发布此问题后,Gitlab CI 已切换到使用 .gitlab-ci.yml
进行配置。我相信安装依赖项的推荐方法是使用 before_script
命令,例如
before_script:
- npm install
test:
script: npm test
我想 post 下面是我的最终解决方案,以帮助其他人解决这个问题。我的 .gitlab-ci.yaml 文件和我的 karma.conf.js 位于 app-root 目录中。对于业力,我正在使用 PhantomJS,它非常适合 Windows 以及我的 linux 服务器。
Windows的解决方案:
image: node:4.2.2
cache:
paths:
- node_modules/
stages:
- test
test_app:
stage: test
script:
- run npm install
- run karma start karma.conf.js
目前我正在为 testing/building 我的应用程序使用 linux 服务器。您必须删除 "run" 才能使其适用于 linux.
如果您有不止一份工作,您可以将依赖项安装命令移动到 "before_script" 部分,就像 Tamlyn 上面写的那样。
如果它仍然不适合您,请告诉我。也许我有更多的想法......我为此做了很多工作,让它发挥作用。
我开始使用 GitLab CI,使用 gitlab-ci-multi-运行ner for Windows(64 位)。到目前为止一切正常,与我的存储库有连接,每次推送时我配置的作业都会启动。
我现在想做的是做一份 运行s npm install
下载所有依赖项的工作 cies 和一份执行我用 [=32] 编写的所有测试的工作=] 通过 运行ning karma start karma.conf.js
或使用 g运行t 和 运行ning grunt test
.
所以我尝试的第一份工作是:
cd app
npm install
karma start karma.conf.js
前两条命令被执行,但最后一条被完全忽略。所以我试图拆分工作。第一个命令有自己的工作(选项卡 "run in parallel"),最后一个命令在选项卡 "run on success" 中移动到自己的工作。现在所有 dependencies 都安装好了,第二个工作开始了。到目前为止一切顺利,但第二项工作开始于删除所有以前安装的依赖项ci,然后尝试 运行 karma start karma.conf.js
。这显然以所有测试失败而告终,因为 npm 依赖项 "angular-mocks" 未下载。如果我将 npm install
添加到第二份工作(这对我来说意义不大),业力任务将再次被忽略。
这里有什么问题?我怎样才能解决这个问题?有没有办法不总是在每次测试执行时下载所有依赖项ci?
自发布此问题后,Gitlab CI 已切换到使用 .gitlab-ci.yml
进行配置。我相信安装依赖项的推荐方法是使用 before_script
命令,例如
before_script:
- npm install
test:
script: npm test
我想 post 下面是我的最终解决方案,以帮助其他人解决这个问题。我的 .gitlab-ci.yaml 文件和我的 karma.conf.js 位于 app-root 目录中。对于业力,我正在使用 PhantomJS,它非常适合 Windows 以及我的 linux 服务器。
Windows的解决方案:
image: node:4.2.2
cache:
paths:
- node_modules/
stages:
- test
test_app:
stage: test
script:
- run npm install
- run karma start karma.conf.js
目前我正在为 testing/building 我的应用程序使用 linux 服务器。您必须删除 "run" 才能使其适用于 linux.
如果您有不止一份工作,您可以将依赖项安装命令移动到 "before_script" 部分,就像 Tamlyn 上面写的那样。
如果它仍然不适合您,请告诉我。也许我有更多的想法......我为此做了很多工作,让它发挥作用。