Wywołać odbudowę Travis-CI bez naciskania na commit?

Używając Travis-CI, czy możliwe jest uruchomienie rebuild bez popychania nowego commita do Githuba?

Przypadek użycia: budowa nie powiodła się z powodu zewnętrzności. Źródło jest poprawne. Zbuduje OK i przejdzie, jeśli po prostu ponownie uruchomi.

Na przykład, apt-get nie powiedzie się z powodu awarii serwera pakietów, ale serwer ponownie się uruchamia. Jednak status kompilacji jest " zablokowany "na" nie powiodło się " dopóki nowy commit nie zostanie wypchnięty.

Czy Jest jakiś sposób, aby nakłonić Travis-CI do zrobienia kolejnej budowy, innej niż popychanie" manekina"?

 341
Author: Greg Hendershott, 2013-07-12

13 answers

  • Jeśli masz dostęp do repo: na ekranie szczegółów kompilacji znajduje się przycisk za pomocą podpowiedzi "Restart Build".

    uwaga : rozszerzenia przeglądarki, takie jak Ghostery, mogą uniemożliwić wyświetlenie przycisku restartu. Spróbuj wyłączyć rozszerzenie lub białą listę Travis CI.

    Note2 : Jeśli .travis.yml konfiguracja uległa zmianie w upstream, kliknięcie przycisku rebuild uruchomi Travis ze starą konfiguracją. Aby ubiegać się o upstream zmiany w konfiguracji travis trzeba dodać commit do PR lub zamknąć / ponownie go otworzyć.

  • Jeśli wysłałeś zapytanie typu pull request : możesz zamknąć PR i otworzyć go ponownie. Spowoduje to nową kompilację.

ButtonPicutre

 377
Author: jbtule,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-16 23:04:02

Jeśli otworzysz kartę Settings dla repozytorium na Githubie, Kliknij integracje & services, Znajdź Travis CI i kliknij edytuj, powinieneś zobaczyć przycisk Test Service. To uruchomi kompilację.

 199
Author: Aaron Hill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-06 19:07:56

Wiem, że powiedziałeś bez naciskania commita, ale coś, co jest przydatne, jeśli pracujesz nad gałęzią inną niż master, To zatwierdzić pusty commit.

git commit --allow-empty -m "Trigger"

Możesz w końcu zmienić Base i usunąć squash/usunąć puste commity i działa we wszystkich hookach Gita:)

 62
Author: jasonmit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-29 07:58:24

Zaloguj się do Travis i przejdź do strony budowania. W prawym górnym rogu obok ikony koła zębatego pojawi się przycisk "Uruchom ponownie kompilację":

screengrab

Uwaga: aby to zadziałało, musisz mieć prawo zapisu do połączonego repozytorium GitHub.

 22
Author: Juan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-12 11:52:23

Jeśli masz nowy projekt na Githubie, który ma .travis.yml, ale nigdy nie był testowany, możesz uruchamiać testy bez commita w ten sposób:

  1. enable testing in Travis CI setings
  2. Otwórz stronę projektu na Githubie
  3. Otwórz Ustawienia - > webhooki i usługi
  4. Znajdź Travis CI w usługach i naciśnij przycisk Edytuj
  5. press "serwis testowy"
 20
Author: lampslave,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-02 23:41:00

Możesz to zrobić używając Travis CLI . Jak opisano w dokumentacji , najpierw zainstaluj narzędzie CLI, a następnie:

travis login --org --auto
travis token

Możesz przechowywać ten token w zmiennej środowiskowej TRAVIS_TOKEN, o ile plik, w którym go przechowujesz, nie jest kontrolowany w publicznym miejscu.

Używam tej funkcji do wysyłania wyzwalaczy:

function travis_trigger() {
     local org=$1 && shift
     local repo=$1 && shift
     local branch=${1:-master} && shift

     body="{
             \"request\": {
               \"branch\": \"${branch}\"
              }
           }"

     curl -s -X POST \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -H "Travis-API-Version: 3" \
          -H "Authorization: token $TRAVIS_TOKEN" \
          -d "$body" \
          "https://api.travis-ci.org/repo/${org}%2F${repo}/requests"
 }
 12
Author: Sam Brightman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-24 16:33:37

Znalazłem inny sposób na wymuszenie ponownego uruchomienia kompilacji CI i innych wyzwalaczy:

  1. Uruchom git commit --amend --no-edit bez żadnych zmian. Spowoduje to odtworzenie ostatniego commita w bieżącej gałęzi.
  2. git push --force-with-lease origin pr-branch.
 11
Author: Vlad Frolov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-09 09:49:00

Jeśli zainstalujesz Travis CI Client możesz użyć travis restart <job#> do ręcznego ponownego uruchomienia kompilacji z konsoli. Możesz znaleźć ostatnie zadanie# dla gałęzi używając travis show <branch>

travis show master
travis restart 48 #use Job number without .1
travis logs master

Travis CI Client

UPDATE: niestety wygląda na to, że to nie uruchamia nowej kompilacji przy użyciu najnowszego commita, ale po prostu uruchamia poprzedni kompilator przy użyciu poprzedniego stanu repo.

 8
Author: Greg Bray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-09 18:31:42

Powinienem wspomnieć tutaj, że mamy teraz sposób na uruchomienie nowej kompilacji w sieci. Zobacz https://blog.travis-ci.com/2017-08-24-trigger-custom-build Po szczegóły.

TL;DR Kliknij "Więcej opcji" i wybierz "WYZWALACZ kompilacji".

 4
Author: banzaiman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-25 15:32:09

Jeśli build nigdy nie wystąpił (być może nie ustawiono przełącznika Pull-Request build na on In time), możesz oznaczyć Pull Request na Githubie jako zamknięty, a następnie oznaczyć go jako otwarty i zostanie uruchomiony nowy build.

 3
Author: viperguynaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-15 21:39:26

Travis oferuje teraz sposób na uruchomienie "niestandardowej" kompilacji z ich interfejsu internetowego. Poszukaj przycisku Menu "Więcej opcji" po prawej stronie u góry strony projektu.

Więcej Opcji → Trigger Build

Pojawi się okno dialogowe, w którym możesz wybrać gałąź i dostosować konfigurację:

Własne Okno Dialogowe Budowania

W momencie pisania tego jest w wersji beta i wydaje się być lekko buggy (ale spodziewam się, że problemy zostaną rozwiązane wkrótce).

 3
Author: iconoclast,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-17 23:08:42

Właśnie uruchomiłem testy na pull request do ponownego uruchomienia klikając tutaj 'update branch': komponent github check tests

 1
Author: Frazer Kirkman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-13 20:52:44

Simlpy zamknij i ponownie otwórz PR, jeśli nie masz dostępu do zapisu.

 -1
Author: Punit Naik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-05 14:28:30