43

Travis-CI サーバー上の NodeJ でコンパイルされるため、クライアント側の JavaScript ライブラリに Travis-CI を使用するかどうかはわかりません。

クライアント側のライブラリに Travis-CI などのある種の継続的インテグレーションを使用するのにこれが良いアプローチかどうか知りたいですか?

4

4 に答える 4

37

はい、もちろん、クライアント側ライブラリとの継続的な統合を使用する必要があります。

個人的には、Travis-CI に既にインストールされているPhantomJS (ヘッドレス Webkit ブラウザー)を使用しています。これは、NodeJs よりもクライアント側のものに適したオプションだと思います。

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');
};

.travis.yml:

before_script:
  - sudo npm install -g grunt

script: grunt test --verbose --force

私のプロジェクトの 1 つで実際に動作しているのを見ることができます ( source on GitHub )。

于 2012-11-20T12:05:02.710 に答える
26

私は Odi からの回答から始めて、それを機能させるために gulp に移動しました。travis ファイルで node_js を言語として指定すると、travis が自動的に実行されます。

npm install

に続く

npm test

1 つ目は package.json ファイルで指定された devDependencies をインストールし、2 つ目は package.json から「test」という名前のスクリプトを実行します。以下に、travis が単一の qunit スイートを実行するためにレポの最上位に必要な 3 つのファイルを示します。

.travis.yml

language: node_js
node_js:
  - "0.10"

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());
});

パッケージ.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"
  }
}
于 2014-03-05T16:28:05.003 に答える