434 Stimmen

Triggere einen Travis-CI-Neuaufbau, ohne einen Commit zu pushen?

Mit Travis-CI ist es möglich, einen erneuten Build auszulösen, ohne einen neuen Commit auf GitHub zu pushen?

Verwendungszweck: Ein Build schlägt aufgrund einer externen Ursache fehl. Die Quelle ist tatsächlich korrekt. Es würde funktionieren und bestehen, wenn es einfach erneut ausgeführt würde.

Zum Beispiel schlägt ein apt-get aufgrund eines Ausfalls des Paketservers fehl, aber der Server ist wieder online. Jedoch bleibt der Build-Status auf "fehlgeschlagen" stehen, bis ein neuer Commit gepusht wird.

Gibt es eine Möglichkeit, Travis-CI zu aktivieren, um einen weiteren Build durchzuführen, ohne einen "Dummy"-Commit zu pushen?

16voto

Sam Brightman Punkte 2631

Sie können dies mit Hilfe der Travis CLI tun. Wie in der Dokumentation beschrieben, installieren Sie zuerst das CLI-Tool und dann:

travis login --org --auto
travis token

Sie können diesen Token in einer Umgebungsvariablen TRAVIS_TOKEN speichern, solange die Datei, in der Sie ihn speichern, nicht irgendwo öffentlich versioniert wird.

Ich verwende diese Funktion, um Trigger zu übermitteln:

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"
 }

12voto

iconoclast Punkte 19228

Travis bietet jetzt eine Möglichkeit, einen "benutzerdefinierten" Build über ihre Web-Benutzeroberfläche auszulösen. Suchen Sie nach der Schaltfläche "Weitere Optionen" auf der rechten Seite in der Nähe des oberen Teils der Seite Ihres Projekts.

Mehr Optionen Build auslösen

Dann wird ein Dialogfeld angezeigt, in dem Sie den Branch auswählen und die Konfiguration anpassen können:

Benutzerdefiniertes Build-Dialogfeld

Zum Zeitpunkt, als ich dies schreibe, befindet es sich im Beta-Stadium und scheint etwas fehlerhaft zu sein (aber ich gehe davon aus, dass sie die Probleme bald behoben haben werden).

8voto

Greg Bray Punkte 14059

Wenn Sie den Travis CI Client installieren, können Sie travis restart verwenden, um manuell einen Build von der Konsole aus neu zu starten. Sie können die letzte Job# für einen Branch mit travis show finden.

travis show master
travis restart 48 #Verwenden Sie die Job-Nummer ohne .1
travis logs master

Travis CI Client

UPDATE: Leider sieht es so aus, als ob dies keinen neuen Build mit dem neuesten Commit startet, sondern stattdessen einfach einen früheren Build mit dem vorherigen Stand des Repos neu startet.

4voto

viperguynaz Punkte 11746

Wenn der Build nie stattgefunden hat (vielleicht haben Sie den Pull-Request-Build-Schalter nicht rechtzeitig eingeschaltet), können Sie den Pull Request auf Github als geschlossen markieren und dann als geöffnet markieren, um einen neuen Build auszulösen.

4voto

banzaiman Punkte 2551

Ich sollte hier erwähnen, dass wir jetzt eine Möglichkeit haben, einen neuen Build im Web auszulösen. Siehe https://blog.travis-ci.com/2017-08-24-trigger-custom-build für Details.

TL;DR Klicken Sie auf "Weitere Optionen" und wählen Sie "Build auslösen".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X