【发布时间】:2015-09-17 02:57:26
【问题描述】:
这个问题是针对 Bluemix DevOps 的。
我有一个 Java 后端应用程序,它有一个相当大的 JavaScript 前端。因此,我创建了一个 GRUNT 任务来执行所需的操作:uglify、minify、CDNify 等。我当前的设置是让 Bluemix 构建运行 mvn -B package,并预先将 Grunt 任务作为脚本在我的本地机器上运行:
#!/bin/bash
grunt build
git add --all
git commit
git push origin master
但这排除了使用在线编辑器进行的任何编辑。所以我想让这两个任务都由管道运行。我看到了 3 个选项:
- 在一个由
git push触发的构建块中将两个任务作为单独的任务运行 - 在一个由
git push触发的构建脚本中运行它们 - 运行 2 个管道步骤,第一个由
git push触发,第二个由第一个完成 - 别的东西
我还没有尝试过(对我感到羞耻),只是想问一下之前是否有人这样做过(如果是 - 很酷,如果不是,我稍后会发布我的发现)
【问题讨论】:
-
This page at Bluemix 提到如果
Gruntfile存在于您的应用根目录中,它将在部署之前运行 - 这对您的应用有效吗? -
我的挑战是:我已经有一个 pom.xml - 所以 cf push 只会选择一个。该解释也适用于 cf push,但不适用于构建管道。混合语言是一团糟(我喜欢混乱)。但是谢谢你参与
-
啊,我明白了。好吧,如果您喜欢混乱 :) 下一步可能是自定义 buildpack,其中包含 grunt 和 maven,并且每次执行“git push”时都会触发构建,这样您仍然可以使用在线 IDE。我在 Heroku 上使用 PHP 应用程序完成了类似的工作,这些应用程序需要在构建期间运行 Grunt 任务。
-
刚刚解决了...需要 2 个构建步骤
标签: maven gruntjs ibm-cloud devops