Windows上的Jenkins + Grunt =常量EBUSY和ENOENT错误

时间:2014-12-26 18:47:25

标签: node.js jenkins gruntjs windows-server-2008-r2 yui-compressor

尝试在Jenkins中建立一个分支。构建总是失败,通常在处理完一个文件之后,但有时在文件列表中的随机点上进行min / concat。

错误看起来像:

"ENOENT, no such file or directory 'C:\Program Files (x86)\Jenkins\jobs\grunt-minify-concat Build\workspace\1419346881831"

"EBUSY, resource busy or locked 'C:\Program Files (x86)\Jenkins\jobs\grunt-minify-concat Build\workspace\1419370631016'"

grunt-minify-concat是项目的一个分支,我们在Grunt中添加了几行,为CSS / JS连接和缩小添加了一个任务。很标准的东西。以下是配置的相关位:

Gruntfile.js

cssmin: {
  dist: {
    expand: true,
    cwd: 'MySite.Web/css/',
    src: ['*.css', '!*.min.css'],
    dest: 'MySite.Web/css/',
    ext: '.min.css'
  }
},

min: {
  dist : {
    expand: true,
    cwd: 'MySite.Web/',
    src : [
      'js/*.js',
      'scripts/*.js',
      '!js/*.min.js',
      '!scripts/*.min.js',
      '!js/jquery*.js',
      '!scripts/jquery*.js'
    ],
    dest : 'MySite.Web/js/',
    ext: '.min.js'
  }
}

grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-exec');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-yui-compressor');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-msbuild');

grunt.registerTask('build', ['sass', 'cssmin', 'min' , 'msbuild:sln', 'copy:libraryDll']);

grunt.registerTask('buildserver', ['version', 'build', 'tag', 'push', 'output']);

grunt.registerTask('default', ['build']);

packages.json

"devDependencies": {
    "node-sass": "~0.8.1",
    "grunt": "~0.4.1",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-sass": "~0.10.0",
    "grunt-yui-compressor": "0.1.1",
    "grunt-contrib-concat": "0.1.3",
    "grunt-exec": "~0.4.3",
    "grunt-msbuild": "~0.1.9",
    "grunt-contrib-copy": "~0.5.0"
},

我已经在托管Jenkins的Windows 2008R2服务器上应用了一个修补程序,解决了路径长度问题。但是,我仍然得到了EBUSY问题。谷歌和其他论坛表明这些是Windows怪癖,不会很快修复。

这是正常的吗?我通常在Ruby上,Sprockets在这里自动完成所有这些工作。我对Grunt和Jenkins来说比较新,但这似乎是教科书Grunt-101的东西应该可行。我做错了什么?

1 个答案:

答案 0 :(得分:-1)

您可以在Microsoft Word或其他随机非编程编辑器中打开其中一个文件。 Word锁定对文件的访问。完全退出MS Word并重新构建。解决了我的问题。希望它有所帮助!