2016-09-27 4 views
0

Mit Travis automatisiere ich den Docker Build auf jeden Push zu abc123 Zweig.Travis konditional sudo nach Zweig

Um Docker zu machen dort läuft, Travis braucht sudo: required für die virtualization setup

Es ist für jeden Zweig arbeitet, aber ein Container-basiertes Build verwendet, hat weitere Vorteile (wie Geschwindigkeit, zum Beispiel), und ich möchte Führen Sie den Build mit sudo: false auf jedem Zweig, der nicht abc123 ist.

Ist es möglich, eine sudo Konfiguration für eine bestimmte Niederlassung in Travis zu haben?

+0

Sie können dazu wahrscheinlich die [build matrix] (https://docs.travis-ci.com/user/customizing-the-build#Build-Matrix) verwenden. Wahrscheinlich. –

Antwort

0

Sie können die Umgebungsvariable TRAVIS_SUDO verwenden, um zwischen den beiden Versionen zu unterscheiden.

Die aktuelle Version ihrer docs hat diese enthalten:

TRAVIS_SUDO: true oder false basierend darauf, ob sudo aktiviert ist.

Quelle: https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables


Eine andere Lösung wäre, verschiedene .travis.yml in verschiedenen Branchen, aber hin und her Verschmelzung kann dies schwierig machen zu halten.

+0

Die TRAVIS_SUDO envvar ist das Gegenteil von dem, was sie wollen. Es zeigt Ihnen, was der Sudo-Status _is_ ist, aber es lässt Sie nicht basierend auf der Verzweigung festlegen. – hraban

+0

korrekt. Ich würde mein Build-Skript je nach diesem envvar anders verhalten. – kronn

+0

Der sudo-Eintrag in travis.yml-Dateien kann leider nicht dynamisch auf dieser envvar basieren. Das war der Punkt dieser Frage. – hraban