Bouteiller

Support für Bouteiller

Bouteiller ist eine kostenlose App für iPhone und iPad, mit der du deine Jenkins-Server im Blick behältst und steuerst: Job-Status, Konsolenausgabe, Starten und Stoppen von Builds, Freigabe von Pipeline-Inputs, Widgets und Kurzbefehle.

Voraussetzungen

API-Token erstellen

Bouteiller meldet sich mit deinem Jenkins-Benutzernamen und einem API-Token an, niemals mit deinem Passwort.

  1. Melde dich in der Weboberfläche von Jenkins an.
  2. Öffne die Seite Security deiner Benutzereinstellungen: Rufe https://dein-jenkins/me/security auf (im Serverformular der App erledigt das die Taste Token-Seite öffnen für dich) oder klicke oben rechts auf deinen Namen und dann auf Security. Dort findest du den Abschnitt API Token.
  3. Wähle im Abschnitt API Token die Option Add new Token, gib ihm einen Namen (zum Beispiel „Bouteiller iPhone“) und erzeuge es.
  4. Kopiere das Token sofort: Jenkins zeigt es nur ein einziges Mal an.
  5. Füge in Bouteiller einen Server hinzu und gib die Serveradresse, deinen Benutzernamen und das Token ein. Die App prüft die Verbindung und die Jenkins-Version, bevor sie den Server sichert.

Du kannst das Token jederzeit auf derselben Jenkins-Seite widerrufen; die App meldet dann, dass die Anmeldedaten abgelehnt werden.

VPN und interne Zertifizierungsstellen

Nur über VPN erreichbare Server

Bouteiller steuert dein VPN nicht. Aktiviere beim Hinzufügen oder Bearbeiten eines Servers Nur über VPN erreichbar: Antwortet der Server nicht, schlägt die App dann vor, dich mit dem VPN zu verbinden, statt einen allgemeinen Fehler anzuzeigen.

Zertifikate einer internen Zertifizierungsstelle

Verwendet dein Jenkins-Server ein Zertifikat, das von der eigenen Zertifizierungsstelle deiner Organisation ausgestellt wurde, vertraut iOS ihm standardmäßig nicht. Zwei Möglichkeiten:

Bestätige nur ein Zertifikat, dessen Fingerabdruck du mit deiner IT-Abteilung abgeglichen hast. Sonst könnte jeder, der die Verbindung abfangen kann, dein API-Token mitlesen.

Unverschlüsseltes HTTP

HTTPS wird vorausgesetzt. Unverschlüsseltes HTTP ist nur für einen Server im lokalen Netzwerk zulässig, nachdem du es im Serverformular ausdrücklich erlaubt hast: Das API-Token wird dann unverschlüsselt gesendet.

Mitteilungen

In dieser Version funktionieren Mitteilungen im lokalen Modus: Die App prüft deine Favoriten-Jobs im Hintergrund und zeigt auf dem Gerät eine Mitteilung an, wenn etwas passiert. Kein Server des Entwicklers ist daran beteiligt.

Einrichtung

  1. Füge den Job zu deinen Favoriten hinzu.
  2. Tippe auf die Glocke des Favoriten-Jobs und wähle die Ereignisse: Build gestartet, Erfolg, Fehlschlag, instabil, wieder erfolgreich, abgebrochen, Input ausstehend. Die Standardauswahl („Bei Problemen benachrichtigen“) umfasst Fehlschlag, instabil, wieder erfolgreich und Input ausstehend.
  3. Erlaube Mitteilungen, wenn iOS danach fragt. Der Zustand des Jobs zu diesem Zeitpunkt dient als Referenz: Nur spätere Ereignisse werden gemeldet.

Grenzen des lokalen Modus

Der Abschnitt Mitteilungen in den Einstellungen der App zeigt, ob Mitteilungen und Hintergrundaktualisierung erlaubt sind, und lässt dich sofort eine Prüfung starten.

Push-Mitteilungen, die auch außerhalb des VPN funktionieren, sind für eine künftige Version geplant, über ein optionales Jenkins-Plugin.

Häufige Fragen

Ist Bouteiller eine offizielle Jenkins-App?
Nein. Bouteiller ist eine unabhängige App, entwickelt von einer Privatperson. Sie steht in keiner Verbindung zum Jenkins-Projekt und wird von ihm nicht unterstützt.
Muss ich ein Plugin auf meinem Server installieren?
Nein. Die App funktioniert mit einem Jenkins-Server ganz ohne Plugin. Freestyle-Jobs lassen sich durchsuchen, starten, stoppen und neu bauen; Pipeline-Stages, Inputs und Testergebnisse werden angezeigt, wenn die entsprechenden Plugins installiert sind.
Die App meldet, dass meine Jenkins-Version nicht unterstützt wird.
Bouteiller benötigt Jenkins 2.580.1 LTS oder ein Weekly-Release 2.580 oder neuer. Frag deinen Administrator nach einem Update.
Die App meldet, dass die Anmeldedaten abgelehnt werden.
Prüfe den Benutzernamen (deine Jenkins-Benutzer-ID, nicht unbedingt dein Anzeigename) und das API-Token. Steht der Server hinter einem Reverse Proxy oder einem Single-Sign-on-Portal, stelle sicher, dass der Header Authorization bei Jenkins ankommt.
Der Server ist nicht erreichbar, obwohl er in Safari funktioniert.
Prüfe, ob du dieselbe Adresse wie in Safari eingegeben hast, einschließlich des Kontextpfads (zum Beispiel https://ci.example.com/jenkins). Funktioniert Safari nur über das VPN, aktiviere die VPN-Option des Servers. Wird dem Zertifikat nicht vertraut, siehe interne Zertifizierungsstellen.
Kann ich sensible Aktionen schützen?
Ja. In den Einstellungen kannst du Face ID, Touch ID oder den Gerätecode verlangen, bevor ein Build gestoppt oder ein Input freigegeben bzw. abgelehnt wird. Die Authentifizierung übernimmt iOS; die App sieht niemals biometrische Daten.
Kann ich mehrere Server verwenden?
Ja, so viele du willst. Der Tab „Favoriten“ zeigt die Favoriten-Jobs aller Server.
Welche Widgets und Kurzbefehle gibt es?
Widgets: Status eines Jobs (Home-Bildschirm und Sperrbildschirm), Favoriten, fehlgeschlagene Builds eines Servers, mit einer Starttaste für Jobs ohne Parameter. Kurzbefehle und Siri: Job starten, Status eines Jobs, fehlgeschlagene Builds, Job öffnen. Ein Steuerelement im Kontrollzentrum startet einen Favoriten-Job. Widgets zeigen die Uhrzeit ihrer letzten Aktualisierung an und weisen darauf hin, wenn der Server nicht erreichbar ist.
Warum zeigen die Widgets alte Daten?
Widgets werden aktualisiert, wenn iOS es zulässt, und nur, solange der Server erreichbar ist. Andernfalls behalten sie den letzten bekannten Zustand, mit der Uhrzeit der letzten Aktualisierung und einem Hinweis „nicht erreichbar“.
Wie lösche ich meine Daten?
Lösche den Server in der App: Sein API-Token wird aus dem Schlüsselbund entfernt, zusammen mit seinen Favoriten, Mitteilungsabos und Daten im Cache. Den Cache allein kannst du in den Einstellungen leeren. Beim Löschen der App werden ihre Daten entfernt; da iOS Schlüsselbundeinträge nach dem Löschen einer App behalten kann, lösche zuerst deine Server, wenn du sicher sein willst, dass die Tokens gelöscht sind, und widerrufe die Tokens in Jenkins.
Sammelt die App Daten?
Nein. Siehe die Datenschutzerklärung.

Kontakt

Bei Fragen, Problemen oder Vorschlägen schreib an: nicolas.mannocci@gmail.com.

Um bei einem Problem zu helfen, gib bitte die App-Version (in den Einstellungen der App angezeigt), dein Gerät und deine iOS-Version, deine Jenkins-Version und gegebenenfalls an, ob ein VPN oder eine interne Zertifizierungsstelle im Spiel ist. Sende niemals dein API-Token.