Travis Build enthüllt eine API, die Travis -Mitarbeiter und Jobbörse verwenden, um ein Bash -Skript zu generieren, das dann in die Umgebung zur Auftragsausführung kopiert und ausgeführt wird, wobei die resultierende Ausgabe an Travis zurückgeführt wird.
Diese Codebasis hat mehrere Iterationen der Entwicklung durchlaufen und wurde ursprünglich aus dem Legacy Travis -Arbeiter extrahiert, bevor er seine aktuelle Form annahm.
Laufen
bundle exec rake spec
Sie können Travis-Build als Plugin für den Befehlszeilen-Client einrichten:
git clone https://github.com/travis-ci/travis-build
cd travis-build
mkdir -p ~ /.travis
ln -s $PWD ~ /.travis/travis-build
gem install bundler
bundle install --gemfile ~ /.travis/travis-build/Gemfile
bundler binstubs travis
Sie werden jetzt in der Lage sein, travis compile
auszuführen, das das Bash -Skript erzeugt, das den angegebenen Job ausführt, mit der Ausnahme, dass die sichere Umgebungsvariablen nicht definiert sind und dass die Build -Matrixerweiterung nicht berücksichtigt wird, z. B.:
~ /.travis/travis-build/bin/travis compile
Das vom Befehl Compile generierte Bash -Skript enthält Befehle, die Änderungen an dem System vornehmen, auf dem es ausgeführt wird (z. B. Bearbeiten /etc/resolv.conf
, Installation von Software). Einige erfordern sudo
-Privilegien und sie sind nicht leicht rückgängig zu machen.
Es wird dringend empfohlen, dies in einem Container oder einer anderen virtualisierten Umgebung auszuführen.
Der Befehl kann auf 3 Arten aufgerufen werden:
Ohne ein Argument erzeugt und druckt es ein Bash-Skript aus den Aktionen in der lokalen .travis.yml
ohne Berücksichtigung von env
und matrix
( travis-build
kann diese Schlüssel nicht korrekt erweitern).
~ /.travis/travis-build/bin/travis compile
Mit einer einzigen Ganzzahl erzeugt es das Skript für den gegebenen Build (oder den ersten Auftrag dieser Build -Matrix).
~ /.travis/travis-build/bin/travis compile 8
Mit einem Argument der Form MN
erzeugt es das Bash -Skript für den Job MN
.
~ /.travis/travis-build/bin/travis compile 351.2
Das generierte Skript kann in einem Container oder einer virtualisierten Umgebung verwendet werden, in der die Build -Umgebung von Travis CI eng nachahmt, um Ihnen dabei zu helfen, die Build -Misserfolge zu debuggen. Anweisungen zum Ausführen eines solchen Containers finden Sie in den Travis CI -Dokumenten.
Zusätzlich zum Travis CLI -Plugin können Sie auch das eigenständige CLI -Skript ausführen:
bundle exec script/compile < payload.json > build.sh
Wenn Sie Travis-Build lokal auf Ihrer Maschine ausführen möchten (z. B. um mit Worker zu interagieren), können Sie es auch als Docker-Container mit Docker-Compose ausführen:
Erstellen Sie zuerst das Bild:
docker-compose build web
Zweitens führen Sie das Bild aus:
docker-compose run web
Möglicherweise möchten Sie mit einem anderen Setup für die lokale Entwicklung laufen. Im Folgenden werden travis-build
in der development
ausgeführt, wodurch der Port 4000 des Docker-Bildes an den Port 4000 des Hosts weitergeleitet wird:
docker-compose run -e RACK_ENV=development -p 4000:4000 web
es bauen und ausführen. Dadurch wird ein Container mit dem Inhalt des travis-build
Repositorys im Verzeichnis /usr/src/app
erstellt und Sie in diesem Verzeichnis ausgeschaltet. Von dort aus können Sie die in der Verwendung von Addon for Travis CLI aufgeführten Befehle ausführen, um den Befehl compile für Travis CLI im Container zur Verfügung zu stellen.
Siehe Lizenzdatei.
Copyright (C) 2011-2016 Travis CI-Entwicklungsteam.