将Travis-CI用于客户端JavaScript库?

Afs*_*ani 43 javascript continuous-integration travis-ci

我不确定是否将Travis-CI用于我的客户端JavaScript库,因为它在Travis-CI服务器上使用NodeJ进行编译.

我想知道这是一种很好的方法来使用某种持续集成,例如Travis-CI用于客户端库吗?

Odi*_*Odi 38

是的,您当然应该使用与客户端库的持续集成.

我个人使用PhantomJS(无头WebKit浏览器),它已经安装在特拉维斯-CI.我认为这是比NodeJ更好的客户端选择.

如果您使用Grunt,它会更容易使用,您只需要一个简单的Gruntfile.js文件,在浏览器中运行的测试(我使用QUnit)和一个简单的.travis.yml

Gruntfile.js:

module.exports = function(grunt) {
    // Project configuration.
    grunt.initConfig({
        qunit: {
            files: ['test/index.html']
        }
    });

    // Load plugin
    grunt.loadNpmTasks('grunt-contrib-qunit');

    // Task to run tests
    grunt.registerTask('test', 'qunit');
};
Run Code Online (Sandbox Code Playgroud)

.travis.yml:

before_script:
  - sudo npm install -g grunt

script: grunt test --verbose --force
Run Code Online (Sandbox Code Playgroud)

您可以在我的一个项目中看到它(GitHub上的源代码).


Ian*_*rth 26

我从Odi的答案开始,然后继续努力让它运转起来.如果在travis文件中将node_js指定为语言,则travis将自动运行

npm install
Run Code Online (Sandbox Code Playgroud)

其次是

npm test
Run Code Online (Sandbox Code Playgroud)

第一个将安装package.json文件中指定的任何devDependencies,第二个将从package.json运行名为"test"的脚本.下面你将找到我需要在我的repo顶层运行一个qunit套件的三个文件.

.travis.yml

language: node_js
node_js:
  - "0.10"
Run Code Online (Sandbox Code Playgroud)

gulpfile.js

var gulp = require('gulp'),
    qunit = require('gulp-qunit');

gulp.task('default', function() {
    return gulp.src('./tests/unit/unittests_nupic-js.html')
        .pipe(qunit());
});
Run Code Online (Sandbox Code Playgroud)

的package.json

{
  "name": "nupic-js",
  "version": "0.0.1",
  "description": "JavaScript port of NuPIC",
  "license": "GPL-3.0",
  "repository": "iandanforth/nupic-js",
  "bugs": { "url" : "http://github.com/iandanforth/nupic-js/issues"
  },
  "author": {
    "name": "Ian Danforth",
    "email": "iandanforth@gmail.com"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "scripts": {
    "test": "gulp"
  },
  "keywords": [
    "numenta",
    "nupic",
    "machine learning"
  ],
  "devDependencies": {
    "gulp-qunit": "~0.2.1",
    "gulp-util": "~2.2.14",
    "gulp": "~3.5.1"
  }
}
Run Code Online (Sandbox Code Playgroud)