2015-09-24 14 views
5

W tej chwili mogę ustawić moją tarczę travisu, aby odzwierciedlała ostatni przebieg lub konkretną gałąź, niezależnie od tego, którą gałąź wybiorę na stronie projektu github. Mogę to zrobić, opuszczając lub podając nazwę oddziału na końcu adresu URL. Zamiast tego chciałbym uzyskać osłonę odpowiadającą wybranemu odgałęzieniu. Innymi słowy, za każdym razem, gdy wybiorę inną gałąź, adres URL do ekranu Travis w moim pliku README.md ulegnie zmianie.Zdobądź Travisa Shielda na Githubie, aby odzwierciedlić status wybranego oddziału.

W SVN możesz użyć słów kluczowych SVN, aby zaimplementować coś w tym rodzaju, modyfikując adres URL tarczy za pomocą nazwy oddziału (lub czegoś podobnego). Ten QA zapewnia kilka alternatyw dla git, ale:

  • wolałbym uniknąć powołując się na skryptach
  • Nie sądzę ekspansja kluczowe będą działać, ponieważ muszę pliki być różne na boku GitHub , nie na moim lokalnym komputerze (mam nadzieję, że się mylę)

Jakieś pomysły? Mam nadzieję, że po prostu tęskniłem za czymś głupim. Wygląda na to, że musi być naprawdę łatwy sposób na zrobienie tego.

+0

To bardzo podobne pytanie-zdaje się mówić „nie”: http://stackoverflow.com/questions/18673694/referencing-current-branch-in-github-readme-md – medmunds

+0

@medmunds dzięki za odsyaczami. – BrodieG

Odpowiedz

8

Używam tarcze budowlane Travis dla miniCRAN, a rozwiązanie jest dość proste.

Należy zanotować dodanie ?branch=... na końcu każdego łącznika osłony travis.

Oto wyciąg z 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) 

Skutkuje:

stanu budowy

nadrzędnego: Build Status wydaniu: Build Status dev: Build Status

+1

dla odniesienia dla innych: Miałem nadzieję, że będzie sposób, aby ustawić 'branch = ...'część adresu URL w jakiś sposób zmienia się, gdy zmienia się gałąź na stronie głównej github dla projektu, w ten sposób potrzebna jest tylko jedna tarcza (+1, ponieważ jest to w rzeczywistości rozsądne rozwiązanie, jeśli o to proszę; niemożliwe). – BrodieG

2

To nie jest idealne rozwiązanie, ale jeśli jesteś już w wersji knit -swojego README z README.Rmd, nie ma dodatkowych kosztów. Zasadniczo, można użyć wywołania systemowego w pliku README.Rmd, aby dynamicznie generować tarczę Travis-CI w oparciu o gałąź, w której pracujesz. Będzie ona aktualna i specyficzna dla gałęzi, o ile zawsze będziesz knit przed popchnięciem do GitHub.

Oto prosty przykład:

# 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) 
``` 

Rezultatem będzie tak:

# 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) 

ale URL będzie wskazywać na cokolwiek oddział aktualnie pracuje.

Uwaga: h/t do this answer dla odpowiedniej komendy git do wykrywania bieżącej nazwy oddziału.

+0

Obecnie używam zwykłego pliku '.md', ale jeśli nie ma lepszej odpowiedzi, mógłbym zmienić mój przepływ pracy na ten. Świetny pomysł. – BrodieG

Powiązane problemy