2017-10-07 83 views
0

我正在Jenkins CI中設置一個帶有自動測試的Angular 4 SPA。 SPA是Maven管理的大型項目的一部分,因此該構建也由Maven管理。到目前爲止,我:Karma未在Jenkins CI中運行,無法找到模塊'karma-jasmine'

  1. 安裝在詹金斯的插件的NodeJS利用從nodejs.org與版本8.6.0安裝
  2. 配置「全球NPM要安裝的軟件包」 =「卡瑪CLI phantomjs,預置的茉莉花核心karma-茉莉花karma-phantomjs-launcher karma-junit-reporter karma-coverage「
  3. 在pom.xml中添加」maven-karma-plugin「與瀏覽器= PhantomJS/singleRun = true/reporter = dots,junit
  4. 在Jenkins作業配置上啓用「提供節點& npm bin /文件夾到PATH」

構建過程啓動很確定,但最終我得到:

[INFO] --- maven-karma-plugin:1.6:start (default) @ webclient --- 
[INFO] Executing Karma Test Suite ... 
/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/bin/karma start /var/lib/jenkins/workspace/funnel_build/webclient/karma.conf.js --browsers PhantomJS --reporters dots,junit --single-run 
07 10 2017 17:07:52.801:ERROR [config]: Error in config file! 
{ Error: Cannot find module 'karma-jasmine' 
    at Function.Module._resolveFilename (module.js:527:15) 
    at Function.Module._load (module.js:476:23) 
    at Module.require (module.js:568:17) 
    at require (internal/module.js:11:18) 
    at module.exports (/var/lib/jenkins/workspace/funnel_build/webclient/karma.conf.js:9:7) 
    at Object.parseConfig (/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/karma/lib/config.js:410:5) 

故宮安裝在構建日誌的開始:

$ /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/bin/npm install -g karma-cli phantomjs-prebuilt jasmine-core karma-jasmine karma-phantomjs-launcher karma-junit-reporter karma-coverage 
/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/bin/karma -> /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/karma-cli/bin/karma 
/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/bin/phantomjs -> /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/phantomjs-prebuilt/bin/phantomjs 

> [email protected] install /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/phantomjs-prebuilt 
> node install.js 

Considering PhantomJS found at /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/bin/phantomjs 
Looks like an `npm install -g` 
Could not link global install, skipping... 
Download already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 
Verified checksum of previously downloaded file 
Extracting tar contents (via spawned process) 
Removing /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/phantomjs-prebuilt/lib/phantom 
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1507388835905/phantomjs-2.1.1-linux-x86_64 -> /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/phantomjs-prebuilt/lib/phantom 
Writing location.js file 
Done. Phantomjs binary available at /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node.js_8.6.0/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs 
npm WARN [email protected] requires a peer of [email protected]* but none was installed. 
npm WARN [email protected] requires a peer of [email protected]>=0.9 but none was installed. 
npm WARN [email protected] requires a peer of [email protected]>=0.9 but none was installed. 

+ [email protected] 
+ [email protected] 
+ [email protected] 
+ [email protected] 
+ [email protected] 
+ [email protected] 
+ [email protected] 
updated 7 packages in 10.553s 

(原因包「因果報應'目前不在榜單上的是我在某個地方讀到應該使用業力場所來代替業力。然而,添加'karma'包並不會改變任何東西。)

任何想法爲什麼「找不到模塊'karma-jasmine'」彈出?在(2)中,您會看到列出了karma-jasmine軟件包,我在服務器上找到它,但仍未找到NodeJS插件。

謝謝,西蒙

回答