2015-06-23 94 views
1

我.travis.yml特拉维斯CI - 版本是超时

language: node_js 
node_js: 
    - "0.12" 
before_install: 
    - "export DISPLAY=:99.0" 
    - "sh -e /etc/init.d/xvfb start" 

我只加了一些非常简单的测试,到目前为止(检查类属性存在)。 我可以看到测试被执行。

然后,在特拉维斯输出的最后几行是这样的:

WARN [web-server]: 404: /css/style.min.css?1435068425.642 
No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself. 
The build has been terminated 

如果测试运行,然后构建和依赖关系必须已安装? 那么为什么一旦所有的测试都执行完毕,这个过程还没有完成?

karma.config:

module.exports = function(config) { 
    config.set({ 
    // base path that will be used to resolve all patterns (eg. files, exclude) 
    basePath: '', 
    // frameworks to use 
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter 
    frameworks: [ 
     'jasmine', 
     'requirejs' 
    ], 
    // list of files/patterns to load in the browser 
    files: [ 
     {pattern: 'js/vendor/**/*.js', included: false}, 
     {pattern: 'js/*.js', watched: true, included: false}, 
     {pattern: 'test/**/*Spec.js', watched: true, included: false}, 
     {pattern: 'css/**/*.css', included: false}, 
     'test/test-main.js' 
    ], 
    // list of files to exclude 
    exclude: [ 
     'test/lib/**/*.js', 
     'js/vendor/**/test/*.js', //do not include the vendor tests 
     'js/_admin.js' 
    ], 
    preprocessors: { 
    }, 
    reporters: ['progress'], 
    // web server port 
    port: 9876, 
    // enable/disable colors in the output (reporters and logs) 
    colors: true, 
    // level of logging 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['Firefox'], //'Chrome', 'PhantomJS', 'PhantomJS_custom' 
    singleRun: false, 
    });//config.set 
};//module.exports 

测试main.js文件夹测试:

var allTestFiles = []; 
var TEST_REGEXP = /(spec|test)\.js$/i; 

Object.keys(window.__karma__.files).forEach(function(file) { 
    if (TEST_REGEXP.test(file)) { 
     // Normalize paths to RequireJS module names. 
     allTestFiles.push(file); 
    } 
    //console.log('test files:', allTestFiles); 
}); 

require.config({ 
    baseUrl: '/base', 
    paths: { 
     'jquery': './js/vendor/jquery/jquery-2.1.4.min', 
     'jquery-ui': './js/vendor/jquery-ui-1.11.4.custom/jquery-ui.min', 
     'underscore': './js/vendor/underscore/underscore-min', 
     'backbone': './js/vendor/backbone/backbone-min', 
     'mustache': './js/vendor/mustache/mustache.min', 
     'domReady': './js/vendor/requirejs/plugins/domReady/domReady', 
     'text': './js/vendor/requirejs/plugins/text/text', 
     //------------------------------------ 
     //custom requireJS application modules 
     'my': './js/my', 
     'my-CSS': './js/my-CSS' 
    }, 
    shim: { 
     'underscore': { 
      exports: '_' 
     } 
    }, 
    deps: allTestFiles, 
    callback: window.__karma__.start 
}); 

的我的CSS模块加载这样的CSS:

//custom requireJS module to hold the crowdUI class 
define(["my"], function (my) { //prerequisites 
    'use strict'; 
    //load the CSS definitions 
    document.head.appendChild(
     my.createElement('link', { 
      attribute: { 
       id: 'my-CSS', 
       href: './css/style.min.css?' + crowdUI.TIMESTAMP, 
       rel: 'stylesheet', 
       type: 'text/css' 
      } 
     }) 
    ); 

}); 
+0

可能的重复[如何在Travis CI上安装某些东西而不超时?](http://stackoverflow.com/questions/28746046/how-can-i-install-something-on-travis-ci-without -a超时) – kenorb

回答

4

如果问题在于你的任务需要超过10分钟的时间才产生输出,修复很简单:在你的命令前添加一个机智h travis_wait

例如travis_wait myCommand而不仅仅是myCommand