首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于角2项目的Gitlab CI

用于角2项目的Gitlab CI
EN

Stack Overflow用户
提问于 2016-10-29 07:29:10
回答 3查看 3.3K关注 0票数 4

嗨,我正试图在gitlab上设置一个ci来运行每次提交和推送的测试,但是我不能设置配置yml文件,请指导我做错了什么,我现在的yml文件是

代码语言:javascript
运行
复制
image: node:4.2.2
cache:
  paths:
  - node_modules/
test_app:
  script:
    - npm install  
    - npm test

这使我在安装Phantom.js模块时出错,所以我尝试了下面的配置,但显示了无效的语法。

代码语言:javascript
运行
复制
image: node:4.2.2

befor_script:
  - mkdir ~/tmp
  - pushd ~/tmp
  - wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
  - tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2
  - mv phantomjs-2.1.1-linux-x86_64 phantomjs
  - ln -s ~/tmp/phantomjs/bin/phantomjs /usr/bin/phantomjs
  - phantomjs --version
  - cd ..

cache:
  paths:
  - node_modules/

test_app:
  script:
    - npm install  
    - npm test

我的Package.Json文件是

代码语言:javascript
运行
复制
{
  "name": "test",
  "version": "0.1.0",
  "description": "My Angular2-TypeScript App",
  "keywords": [
    "angular2",
    "typescript",
    "webpack"
  ],
  "scripts": {
    "lint": "tslint \"src/**/*.ts\"",
    "postinstall": "webdriver-manager update",
    "e2e": "protractor",
    "start": "gulp serve",
    "build": "gulp build",
    "test": "karma start"
  },
  "dependencies": {
    "@angular/common": "2.0.0",
    "@angular/compiler": "2.0.0",
    "@angular/core": "2.0.0",
    "@angular/forms": "2.0.0",
    "@angular/http": "2.0.0",
    "@angular/platform-browser": "2.0.0",
    "@angular/platform-browser-dynamic": "2.0.0",
    "@angular/router": "3.0.0",
    "@types/core-js": "^0.9.34",
    "angular2-jwt": "^0.1.24",
    "bootstrap": "^3.3.7",
    "core-js": "^2.4.1",
    "jquery": "^2.2.4",
    "ng2-bootstrap": "^1.1.16",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "^0.6.23"
  },
  "devDependencies": {
    "@types/jasmine": "^2.5.35",
    "@types/node": "^6.0.45",
    "@types/protractor": "^1.5.20",
    "@types/selenium-webdriver": "2.44.28",
    "codelyzer": "0.0.19",
    "protractor": "^4.0.9",
    "protractor-jasmine2-screenshot-reporter": "^0.3.2",
    "gulp": "^3.9.1",
    "gulp-load-plugins": "^1.3.0",
    "gulp-shell": "^0.5.2",
    "run-sequence": "^1.2.2",
    "rimraf": "^2.5.2",
    "tslint": "^3.13.0",
    "typescript": "^2.0.3",
    "css-loader": "^0.23.1",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.8.5",
    "jasmine-core": "^2.4.1",
    "karma": "^0.13.22",
    "karma-coverage": "^1.0.0",
    "karma-jasmine": "^0.3.8",
    "karma-mocha-reporter": "^2.0.4",
    "karma-phantomjs-launcher": "^1.0.0",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-webpack": "^1.7.0",
    "html-loader": "^0.4.3",
    "html-webpack-plugin": "^2.15.0",
    "null-loader": "^0.1.1",
    "raw-loader": "^0.5.1",
    "style-loader": "^0.13.1",
    "ts-loader": "^0.8.1",
    "webpack": "^1.13.1",
    "webpack-dev-server": "^1.14.1",
    "webpack-merge": "^0.14.0"
  },
  "private": true
}

我所犯的错误

代码语言:javascript
运行
复制
npm info build /builds/test/test/node_modules/rxjs/node_modules/symbol-observable
npm info linkStuff symbol-observable@1.0.4
npm info install symbol-observable@1.0.4
npm info postinstall symbol-observable@1.0.4
npm info build /builds/test/test/node_modules/rxjs
npm info linkStuff rxjs@5.0.0-beta.12
npm info install rxjs@5.0.0-beta.12
npm info postinstall rxjs@5.0.0-beta.12
npm info phantomjs-prebuilt@2.1.13 Failed to exec install script
npm ERR! Linux 4.7.0-coreos-r1
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! phantomjs-prebuilt@2.1.13 install: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the phantomjs-prebuilt@2.1.13 install script 'node install.js'.
npm ERR! This is most likely a problem with the phantomjs-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls phantomjs-prebuilt
npm ERR! There is likely additional logging output above.
npm info preuninstall phantomjs-prebuilt@2.1.13
npm info uninstall phantomjs-prebuilt@2.1.13
npm info postuninstall phantomjs-prebuilt@2.1.13
npm info preuninstall karma-phantomjs-launcher@1.0.2
npm info uninstall karma-phantomjs-launcher@1.0.2
npm info postuninstall karma-phantomjs-launcher@1.0.2

npm ERR! Please include the following file with any support request:
npm ERR!     /builds/test/test/npm-debug.log
ERROR: Build failed: exit code 1
EN

Stack Overflow用户

发布于 2017-12-13 21:51:02

我面临的挑战是运行需要真正浏览器运行的e2e测试。

幸运的是,Chrome现在有--headless模式(甚至有一个Debian包),所以您不再需要PhantomJS了(原因是它现在的维护人员已经宣布了停止使用PhantomJS的计划)。

Xvfb 的关键是在GitLab CI上启动Chrome之前,先设置。有关确切的设置代码,请检查如何在AngularJS CI上运行GitLab端到端测试

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40317009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档