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)
| 归档时间: |
|
| 查看次数: |
7371 次 |
| 最近记录: |