使用Jenkins自动完成coffeescript编译

时间:2013-02-19 23:31:06

标签: node.js jenkins coffeescript continuous-integration

我已经在我的一个项目的Windows框中设置了一个jenkins CI服务器。它的一部分用Coffeescript编写。以前这部分没有循环到构建过程中。现在需要。

我没有看过jenkins的任何coffeescript插件,或者谷歌在jenkins中建立coffeescript的主题。

我正在寻找设置jenkins构建的最简单方法,以包含咖啡编译步骤。最好是通过jenkins上的插件,而不是在盒子上手动安装程序。

目前,coffeescript是通过如此命令编译的

coffee --lint --watch --output "C:\repositories\martha\trunk\bb\app\bin\js/" --compile "C:/repositories/martha/trunk/bb/app/src/"

在开发框上的Node.js命令提示符

我还注意到Jenkins有一个node.js插件,你可以在构建步骤中运行脚本。我不相信我可以通过node.js脚本而不是命令行使用命令npm install -g coffee-scriptcoffee --compile。虽然我希望我错了。

目前我看到的最佳选择是在框中安装node.js,使用npm安装coffee脚本,然后运行批处理脚本作为构建步骤。虽然我愿意继续这样做,但我希望减少手动安装,以便在更多项目中使用咖啡脚本。

这是我最好的选择吗?

值得一说虽然我使用node.js来编译coffee-script,node.js本身及其功能对我来说是非常新的。

2 个答案:

答案 0 :(得分:1)

一种可能的解决方案是使用extras/coffee-script.js中提供的脚本运行编译器。您必须使用JDK 7或最新的Rhino(JDK 6将无法使用)。以下是指向简单CoffeeScript compiler in Java

的链接

答案 1 :(得分:0)

我会推荐

a)在jenkins上安装nodejs plugin + grunt - > Jenkins integration with Grunt

b)表达出色的指示:)

c)然后用grunt编译咖啡脚本,这也意味着你可以轻松地在本地编译咖啡脚本!!

grunt说明 - > http://gruntjs.com/

grunt咖啡脚本说明 - > https://github.com/gruntjs/grunt-contrib-coffee

基本上你需要一个像这样的Gruntfile.js

module.exports = function(grunt) {
    // Project configuration.
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        coffee: {
            compile: {
                files: {
                    'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
                    'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile and concat into single file
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-coffee');
    grunt.registerTask('default', ['grunt-contrib-coffee']);
};

然后对于jenkins shell任务你只需要这个,运行grunt并因此运行咖啡脚本

npm update
grunt