1

这个问题是针对 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 个选项:

  1. git push在作为单独任务触发的一个构建块中运行这两个任务
  2. 在一个由触发的构建脚本中运行它们git push
  3. 运行 2 个管道步骤,第一个由 触发git push,第二个由第一个完成
  4. 别的东西

我还没有尝试过(对我感到羞耻),只是想问一下是否有人这样做过(如果是 - 很酷,如果不是,我稍后会发布我的发现)

4

1 回答 1

4

解决了。这是我尝试过的:

  • 修改构建中的脚本并使用 npm install
    npm 或 mvn 前缀(取决于我选择的内容)未找到)
  • 将 2 个作业添加到一个构建阶段,一个 grunt 一个 maven
    (部署任务找不到战争文件)
  • 使用 2 个流水线阶段(见下图):Horray --- 有效。

需要两个构建步骤

没有一个构建步骤需要设置一个目录,这是一个小陷阱,因为mvn设置target为默认目录,所以删除它。Bower/Grunt 的脚本是这样的:

 #!/bin/bash
 npm install
 grunt build 

Maven任务的脚本:

#!/bin/bash
mvn -B package

像魅力一样工作(注意不要添加你实际上不需要的 npm 模块,它会减慢构建速度)

于 2015-09-17T07:22:41.803 回答