如何让travis ci为每个git分支构建不同的图形

时间:2014-12-19 00:40:46

标签: github travis-ci

所以我在这里有多个分支的这个github仓库:https://github.com/WalnutiQ/WalnutiQ 以及来自主要README.md

的travis ci的构建传递徽章

每当我将提交推送到任何分支时,如果失败,travis ci图形将显示所有分支的构建失败。是否有一种简单的方法可以使它显示构建失败只是为了一个分支?

1 个答案:

答案 0 :(得分:1)

我不确定这是否算轻松,但这就是我的工作。

构建脚本:

  • 通过将徽章复制到产品目录,让我的构建脚本在开始时标记构建失败。
  • 完成后盖章。

某事like this

发布脚本

发布脚本在主构建之后运行,无论是通过还是失败。

  • 在名为script to copy and push的文件夹中,在gh-pages分支上运行build-status生成的通过或失败徽章。
  • 正如您所见,此文件夹应包含.htaccess文件,以便快速刷新图像。不要将此文件放在项目的根文件夹中,否则GitHub可能会停止支持它。

然后在分支的README.md上用:

提供它

![Build Status](http://www.typhoonframework.org/build-status/build-status.png)

。 。 。上面,逐字粘贴到StackOverflow中,它也接受markdown格式,如下所示:

Build Status http://www.typhoonframework.org/build-status/build-status.png?q=z

如果要对每个分支执行此操作,只需修改脚本以在分支中包含分支名称,并让分支的README指向该分支。

为什么我喜欢这种方法:

一般而言,尽可能创建与构建服务器无关的脚本。

  • 如果需要,我可以更改构建服务器。
  • 上面的构建脚本是68行,在两个平台上编译和测试,然后在发布结果之前生成code coverage reportAPI documentation。它用一种开发人员已经理解的语言编写,因此他们不必投资学习构建服务器提供的特定YAML(又一种)格式。
  • 它允许开发人员从干净的结账处轻松地在本地工作站上运行构建脚本。通过这种方式,他们可以在提交之前运行脚本,并且构建失败和后续对其他开发人员的影响的可能性更小。
  • 如果存在构建失败,则可以轻松地在本地重现和诊断问题。

说过状态标记是增值的一个很好的例子,如果方便使用,可以由构建服务器提供。