English

Verwendung von Telegram zur Überwachung Ihrer Gitlab-Pipelines

Kategorien:

Wie Sie ohne Wandtafeln und separate Browserfenster wissen, was Ihre Pipelines tun

Als Freiberufler arbeite ich oft mit Kunden, die ihre eigenen Server haben, überlasse mir aber den größten Teil der technischen Arbeit. Ich arbeite nicht so gerne direkt auf Servern, daher ist das erste, was ich tue, wenn ein neuer Server konfiguriert werden muss, die Installation eines Gitlab-Runners. Dieser Text wurde größtenteils automatisiert übersetzt.

 

Einrichten von Pipelines

Dieser Dienst wird dann mit Gitlab.com, der Gitlab-Instanz des Kunden oder meinem eigenen selbst gehosteten Gitlab verbunden. Dann richte ich eine zum Projekt passende Bereitstellungspipeline ein. Bei PHP-Projekten wähle ich also normalerweise TYPO3 Surf, um die eigentliche Bereitstellung durchzuführen. Deployer ist ebenfalls eine Option, aber ich habe mich in letzter Zeit mehr und mehr dafür entschieden, ihn für andere Aufgaben zu verwenden. Für andere Arten von Projekten würden Sie natürlich das Werkzeug wählen, das am besten zu Ihnen passt. Bei Ruby-Projekten könnte es Capistrano sein, oder Sie haben einfach eine Sammlung von Shell/Docker-Skripte.

Nachdem ich eine Pipeline in Gitlab eingerichtet habe, um Builds, Tests, Bereitstellungen und andere Aufgaben automatisch auszuführen, basiert mein Projekt-Workflow normalerweise nur auf dem Pushen von Daten an Gitlab. Also pushe ich über Git und beginne dann mit der Arbeit an der nächsten Aufgabe. Gitlab erledigt dann den Rest, indem es mit dem Gitlab Runner kommuniziert, der auf dem Server läuft. Der Runner erstellt dann das Projekt, führt einige Tests durch und stellt schließlich neue Versionen bereit. Und das Ganze könnte funktionieren oder fehlschlagen...

Wie man weiß, was die Pipeline macht

Deshalb habe ich eine ganze Weile nach einer Möglichkeit gesucht, zu überwachen, was nach erfolgreichen oder gescheiterten Bauvorhaben geschieht. Normalerweise bin ich an jeder Art von Scheitern in jeder Phase der Pipeline interessiert, um mit der Behebung des Problems zu beginnen. Oder Erfolgsmeldungen, wenn eine Bereitstellung durchlaufen wurde, nach denen ich gerne einige manuelle Tests durchführe und den Kunden über das fertige Update informiere.

Natürlich können Sie einfach in die Gitlab-Instanz gehen und die Pipeline-Ansicht ansehen und sehen, was sich dort abspielt. Sie können auch großartige Wandtafeln auf separaten Bildschirmen einrichten oder eine Raspberry-PI verwenden, um interessante Ausgaben zu erstellen. Aber all diese Dinge waren mir zu zeitaufwendig oder haben nicht funktioniert, wenn ich von woanders aus arbeite.

Deshalb suchte ich nach einer Möglichkeit, die Pipelines mit möglichst wenig Ablenkung passiv zu überwachen. Nach längerer Suche fand ich heraus, dass es eine Gitlab-Integration für den Telegram Messenger gibt. Sie heißt Integram, ist Open Source und funktioniert wirklich gut. Sie unterstützt auch die ToDo-Liste Trello und das Code-Verwaltungswerkzeug Bitbucket.

Verwendung von Integramm

Integram bietet grundsätzlich einen Chatbot für Telegram an. Dieser Bot erlaubt es Ihnen, über Nachrichten mit Ihrer Gitlab-Instanz zu interagieren. Sie können Haken zu den Projekten hinzufügen, die verbunden werden sollen, und der Bot wird Sie dann über den Fortschritt dieser Projekt-Pipelines informieren.

Da Telegram Apps für iOS, Android, Mac OS X, Windows etc. anbietet, können Sie diese Nachrichten überall empfangen. Ich mache zum Beispiel einen Git-Push mit einem neuen Release-Tag, gehe dann in der Küche einen Kaffee kochen und ein paar Minuten später benachrichtigt mich meine Apple-Watch, dass die ausgelöste Bereitstellung durch ist.

Wenn Sie dem Integram-Bot nicht vertrauen, können Sie den Dienst auch selbst hosten. Auf diese Weise können Sie die gesamte CI-Infrastruktur für sich behalten.

Natürlich können Sie den Bot auch an einen Gruppenchat anschließen, so dass ein ganzes Team informiert werden kann.

Finden Sie die Informationen über die Einrichtung in ihrem Github-Repository auf der Grundlage der von Ihnen benötigten Integration. Sie richten den Bot in Ihrem Telegram-Chat ein und fügen Service-Hooks zu Ihren individuellen Projekt-Repositories in Gitlab hinzu. Der Bot wird Sie dann durch den gesamten Prozess führen.

Zusammenfassung

Meiner Meinung nach ist der Integram-Bot eine nicht aufdringliche Art und Weise, um über Builds und Einsätze informiert zu werden. Da Telegram es Ihnen erlaubt, den Chatbot wie jeden anderen Benutzer zu behandeln, können Sie ihn bei Bedarf sogar für eine Weile stumm schalten.

Wenn Sie oder Ihre Firma Slack verwenden, gibt es natürlich Integrationen, die Ihnen vielleicht besser passen.