在Github上获取Travis Shield来反映选定的分支状态

现在我可以让我的Travis Shield反映最新的运行或特定的分支,而不管我在我的github项目页面中选择哪个分支。 我可以通过忽略或在URL末尾指定分支名称来完成此操作。 相反,我想获得与所选分支对应的屏蔽。 换句话说,每次我选择一个不同的分支时,我的README.md文件中travis shield的URL都会改变。

在SVN中,您可以使用SVN关键字通过修改带有分支名称的盾牌URL(或类似的东西)来实现某种类型的东西。 这个质量保证为git提供了一些替代方案,但是:

  • 我宁愿避免依赖shell脚本
  • 我不认为关键字扩展会起作用,因为我需要Github方面的文件不同,而不是我的本地计算机(希望我错了)
  • 有任何想法吗? 希望我只是错过了一些愚蠢的东西。 感觉像这样做一定非常简单。


    我利用Travis为miniCRAN构建屏蔽层,解决方案非常简单。

    请注意在每个travis盾牌链接的末尾添加?branch=...

    这是来自README.md

    **Build status**
    
    master: 
    [![Build Status](https://travis-ci.org/andrie/miniCRAN.svg?branch=master)](https://travis-ci.org/andrie/miniCRAN)
    release:
    [![Build Status](https://travis-ci.org/andrie/miniCRAN.svg?branch=release)](https://travis-ci.org/andrie/miniCRAN)
    dev: [![Build Status](https://travis-ci.org/andrie/miniCRAN.svg?branch=dev)](https://travis-ci.org/andrie/miniCRAN)
    

    这导致:

    构建状态

    主: 发布: 开发:


    这不是一个完美的解决方案,但如果你已经knit从README.Rmd -ing你的自述,没有增加成本。 基本上,你可以用你的README.Rmd系统调用,不管以何种分支你工作中动态生成特拉维斯-CI的盾牌。这将是最新的,只要具体的分支,你总是knit推到前GitHub上。

    这里有一个简单的例子:

    # Example README.Rmd
    
    Here's a branch specific shield:
    
    ```{r, echo=FALSE, eval=TRUE, results="asis"}
    travis_url <- "https://travis-ci.org/RevolutionAnalytics/miniCRAN.svg?branch="
    shield <- paste0("[![Build Status](",
                     travis_url,
                     system("git rev-parse --abbrev-ref HEAD", intern = TRUE),
                     ")](https://travis-ci.org/RevolutionAnalytics/miniCRAN)")
    cat(shield)
    ```
    

    结果将如下所示:

    # Example README.Rmd
    
    Here's a branch specific shield:
    
    [![Build Status](https://travis-ci.org/RevolutionAnalytics/miniCRAN.svg?branch=master)](https://travis-ci.org/RevolutionAnalytics/miniCRAN)
    

    但URL会指向您目前正在处理的任何分支。

    注意:h / t到相应的git命令来检测当前分支名称的答案。

    链接地址: http://www.djcxy.com/p/19505.html

    上一篇: Get Travis Shield on Github to Reflect Selected Branch Status

    下一篇: git fetch only for current branch