【问题标题】:Run Grunt tasks during Bluemix deployment在 Bluemix 部署期间运行 Grunt 任务
【发布时间】:2023-04-05 11:04:01
【问题描述】:

我有一个令人兴奋的 Node 应用程序,我想将它从托管在 Heroku 上迁移到 Bluemix。这有点复杂,因为部署运行各种任务,由我的 package.js 文件的一部分开始:

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

grunt 任务启动了在我的 Gruntfile.js 文件中找到的相关对话,例如拉入 Bower 包、缩小图像、浏览器化、移动、文件、清理等。

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

在 heroku 中,我的整个 git 存储库将被复制到他们的远程,所以一切都在那里,而不仅仅是运行脚本以生成 dist 目录的输出,我认为这在 Bluemix 上会是一样的吗?

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

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

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

非常感谢! 保罗

【问题讨论】:

  • 感谢丹破译我想说的话,并把它放在一个更容易阅读的时尚:)

标签: node.js gruntjs ibm-cloud


【解决方案1】:

在 Bluemix 中,运行 npm install 命令来安装您的依赖项。这将在postinstall 部分启动您的grunt heroku 任务。请注意,您的devDependencies 不会被下载。如果您的繁重任务需要它们,则可能需要将它们移至 dependencies 部分。

没错,您推送的整个应用程序存储库将在 Bluemix 上复制,类似于 Heroku。

您现在可以指定 Node 和 NPM 引擎,就像在您的 package.json 中一样。

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

【讨论】:

  • 完美,这正是我想知道的。我的应用程序在 Heroku 中与我的 grunt 任务中的 heroku 任务完美配合,很高兴听到 Bluemix 中的情况大致相同。非常感谢您确认!:) 您知道我是否可以推送到类似于 Heroku 的 git 远程端点?我假设我只是使用 cf 工具登录,并且应该能够推送到 bluemix 远程(我会定义)。
  • 为Bluemix 应用程序推送和创建存储库没有与“cf”工具集成。相反,您有几个不同的选项可以在 Bluemix 的 Git 存储库中托管您的代码:1) 在 Bluemix 仪表板上导航到您的应用程序并点击“添加 Git” 2) 直接在“hub.jazz.net”上创建一个代码存储库。在 IBM DevOps Services 上创建此 git 存储库后,您可以使用他们的 WebIDE 编辑您的代码,或直接推送到提供的 git 存储库。您还可以自定义自动构建并部署到 Bluemix!
猜你喜欢
  • 2013-04-02
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
相关资源
最近更新 更多