在Bluemix部署期间运行Grunt任务

我有一个令人兴奋的Node应用程序,我想从Heroku上托pipe到Bluemix。 部署运行各种任务有点复杂,由我的package.js文件的一部分启动:

 "scripts": { "start": "node app.js", "postinstall": "grunt heroku" }, 

咕task任务开始在我的Gruntfile.js文件中find依赖的对话,比如拉入Bower包,缩小图像,浏览,移动,文件,清理等等。

我推测在推送到Bluemix时,我可以启动部署任务? 如果是这样,他们是否会以类似的方式完成( package.json脚本部分的命令)来运行我的Gruntfile.js定义的任务?

在heroku中,我的整个git repo将被复制到远程,所以一切都在那里,不仅仅是运行脚本的输出来生成一个dist目录,我假设这对Bluemix是一样的吗?

最后,在我的包文件中,我将定义npm和节点版本:

 "engines": { "npm": "2.5.1", "node": "0.12.0" } 

Heroku会确保它运行的是特定于我的实例的版本。 Bluemix是否一样?

非常感谢你! 保罗

在Bluemix中, npm install命令来安装依赖关系。 这将在postinstall部分启动您的grunt heroku任务。 请注意,您的devDependencies不会被下载。 如果你的咕噜任务需要他们,他们可能需要被移动到dependencies部分。

对,您所推送的整个应用程序库将被复制到Bluemix上,类似于Heroku。

你现在可以指定Node和NPM引擎,就像你在package.json

过时: 当然,您可以指定节点引擎,就像您在示例中一样。 但是,NPM版本目前是不可configuration的,而是由在该Node.js运行时中打包的内容提供的。