【问题标题】:Adding SVN revision and build number from Jenkins with GruntJS使用 GruntJS 从 Jenkins 添加 SVN 修订版和内部版本号
【发布时间】:2013-06-20 16:17:43
【问题描述】:

我刚刚开始在一些 js 项目中使用 Gruntjs 而不是 Visual Studio 构建脚本。 我仍然希望能够做的唯一一件事就是将环境变量附加到横幅中。

例如在 gruntFile.js 我有..

concat: {
        options: {
            separator: '',
            banner: '/*!\n My App v<%= pkg.version %> \n Date: <%= grunt.template.today("dd-mm-yyyy MM:hh:ss") %> \n Revision: */\n'
        },
        basic_and_extras: {
            .....
        }
    }

我使用 Jenkins 作为构建服务器,有两个可用的环境变量:

SVN_REVISION 当前已检出到工作区的 Subversion 修订号,例如“12345”

BUILD_NUMBER 当前版本号,如“153”

我想做的是找到一种方法来获取它并将其添加到横幅中。 (或 package.json)?

这可能吗?

【问题讨论】:

  • Jenkins 允许您运行任何 BATCH 或 shell 脚本作为构建步骤,因此您应该能够编写脚本并在构建时将这些环境变量传递给脚本。

标签: jenkins gruntjs


【解决方案1】:

请记住,grunt 任务只是 Node.js。你可以从process.env获取环境变量:

concat: {
    options: {
        separator: '',
        banner: '/*!\n My App v<%= pkg.version %> \n Date: <%= grunt.template.today("dd-mm-yyyy MM:hh:ss") %> \n Revision: ' + process.env.SVN_REVISION + ' */\n'
    },
    basic_and_extras: {
        .....
    }
}

【讨论】: