Phi*_*ose 13 javascript continuous-integration build
我正在开始一个新项目 - 一个相当大的应用程序 - 它只包含JavaScript代码(除了一些HTML/CSS),并且已经考虑了合适的构建过程和可用的工具选项.我很想听到最近有类似选择的人.
我确实有一些必要的要求(我可能会在以后添加更多的花里胡哨,但这些确实是必要的):
- 缩小代码:我希望选择对于staging/production构建非常积极(想想Closure Compiler with高级优化.)
- 代码质量检查:JSLint或类似的东西 - 引起代码的任何明显问题.
- 单元测试:在单元测试JS方面,我非常偏爱JsTestDriver - 同时(快速!)测试多个浏览器并轻松实现自动化的能力是主要的吸引力.也就是说,我很乐意考虑其他选择.
- 持续集成友好:我们使用CI服务器(BuildBot,用于记录),任何构建脚本都必须易于自动化.
我已经想到了几种可能性(一些细节是猜测,请纠正我):
优点:
- 似乎涉及最少的工作,尤其是因为优秀的HTML5 Boilerplate构建脚本作为起点
- 许多工具都是用Java编写的(或有包装器) - 包括JSLint/Hint,Closure Compiler和JsTestDriver
- Ant脚本是CI服务器的标准票价
- 快乐的跨平台
缺点:
- 运行许多JAR文件可能有点慢?(我在考虑初始化而不是执行)
优点:
- (写得很好)Ruby脚本很可能比成堆的XML更好处理
- 许多相关工具都有包装器(通常是宝石),例如JSLint,JSTestDriver和UglifyJS
- 同样跨平台
缺点:
- Ruby的知识涉及修改构建过程.虽然这不是一个大问题,但我们不是一个Ruby商店,并且替代品没有完全相同的进入障碍
- 很少有工具实际上在Ruby中运行,实际上是围绕Java或JavaScript代码执行的包装 - 这个看起来它可能会减慢速度
优点:
- JavaScript中提供了大量可用的工具(以及Node可用的模块) - JSLint/Hint,UglifyJS等
- 大概很快(这个博客文章说明了UglifyJS非常全面地超越Closure Compiler)
缺点:
- 节点(特别是NPM)在Windows上似乎还没有(我们有一些运行Windows的开发人员)
- 似乎没有任何现有的支持从Node应用程序使用JsTestDriver(但可以写一个包装器)
基于此,Ant似乎是目前的最爱.
归档时间: |
|
查看次数: |
6205 次 |
最近记录: |