Sollten Sie GitHub-Aktionen oder einen selbstgehosteten Build-Server verwenden?

GitHub Actions ist eine CI/CD-Plattform, die es Entwicklern ermöglicht, Anwendungen automatisch auf GitHub zu erstellen, zu testen und bereitzustellen, ohne externe Tools zu verwenden. Benötigen Sie angesichts der Benutzerfreundlichkeit überhaupt einen externen Build-Server?

GitHub Actions

CI/CD ist der Prozess der automatischen Erstellung und Bereitstellung von Anwendungen, typischerweise über eine automatisierte „Build-Pipeline“. Das nimmt Ihren Code, führt das Build-Skript aus und stellt es dort bereit, wo es benötigt wird. Build-Pipelines werden normalerweise von externer Build-Server-Software wie TeamCity, Travis CI oder Jenkins verwaltet, bei denen es sich um branchenübliche Tools für die Verwaltung aller CI/CD-bezogenen Elemente handelt.

Die Einrichtung ist jedoch im Allgemeinen kompliziert, weshalb GitHub Actions eine Alternative für alltägliche Programmierer bietet. Es ist viel einfacher und für die meisten Benutzer oft kostenlos, und obwohl es ein kostenloses Tool ist, kann es den proprietären Lösungen standhalten, insbesondere mit aktuellen Updates und Community-Support.

Die Ein-Klick-Einrichtung und Benutzerfreundlichkeit Die Verwendung von GitHub Actions macht es zu einem großartigen Einstiegstool zum Erlernen der Build-Automatisierung, insbesondere da Sie nicht die gesamte Infrastruktur selbst einrichten müssen, um loszulegen, und Sie keine eigenen Server benötigen, die rund um die Uhr laufen. 7, um die Builds zu verwalten.

Für die meisten Arten von Anwendungen sind bereits Vorlagen erstellt. Das bedeutet, dass die automatische Erstellung Ihrer Anwendung in der Regel nur durch Klicken auf die Schaltfläche „Aktionen“ erfolgt. Klicken Sie auf die Registerkarte in Ihrem Repository und konfigurieren Sie eine vorgefertigte Vorlage. GitHub kann Ihnen basierend auf Ihrer Codebasis sogar eines empfehlen:

Sie können auch Ihre eigenen YAML-Konfigurationsdateien schreiben, die alle verfügbaren Tools und Docker-Container zum Erstellen beliebiger Anwendungen sowohl auf Windows- als auch auf Linux-Läufern verwenden können. Diese können jede Art von Skripten ausführen, die Sie möchten, einschließlich Bash/PowerShell-Skripts, die sich in Ihrem Repository befinden.

Eine der besten Funktionen von GitHub Actions ist der Community-Marktplatz, der wie ein Paketmanager für Tools funktioniert, die häufig in Build-Skripten verwendet werden. Dadurch können Sie viel Zeit sparen, die Sie für die Skriptautomatisierung selbst aufwenden müssten. Eine gängige Bereitstellungstaktik ist beispielsweise das Hochladen von Build-Artefakten in einen Amazon S3-Speicher-Bucket, und es gibt viele Tools auf dem Markt, die das für Sie erledigen können.

GitHub Actions können den Marktplatz nutzen Im Grunde alles, was andere eigenständige Lösungen können, nur mit etwas mehr manuellem Aufwand. Schließlich werden lediglich grundlegende Skripte auf einem Linux- oder Windows-System ausgeführt.

Tools wie Jenkins bieten beispielsweise die Integration mit Issue-Management-Software wie Jira oder Trello oder Protokollierungsintegrationen mit Slack. Diese sind in die Software integriert und einfach einzurichten. Sie sind hervorragende Verkaufsargumente für eigenständige Build-Systeme. GitHub Actions können jedoch auch so eingerichtet werden, dass sie all diese Dinge tun, indem Tools vom Marktplatz konfiguriert werden.

Einer der größten Nachteile von GitHub Actions ist die Preisstruktur. Jedes GitHub-Konto oder jede GitHub-Organisation verfügt über eine festgelegte Anzahl an Build-Server-Minuten, die von allen Repositorys gemeinsam genutzt werden. Jede Minute, die ein GitHub-Server mit der Ausführung Ihres Builds verbringt, verbraucht Minuten aus diesem Bucket. Das kostenlose Kontingent beträgt 2000 Minuten oder die Hälfte davon für Windows, was für die meisten Gelegenheitsbenutzer immer noch mehr als ausreichend ist.

VERWANDTESo führen Sie Github Actions Builds auf Ihren eigenen Servern aus Mit selbstgehosteten Läufern

Sie können für mehr Minuten mehr für GitHub Pro, Team oder Enterprise bezahlen, aber Sie können dieses Problem auch ganz umgehen, indem Sie Ihren eigenen, selbst gehosteten Runner bereitstellen. Wenn Sie einen zusätzlichen Server haben, können Sie ihn ziemlich schnell so konfigurieren, dass er GitHub Actions-Aufgaben akzeptiert. Abhängig von der Leistung dieses Servers ist er möglicherweise sogar deutlich schneller als das Shared Hosting von GitHub Action. Sie können unseren Leitfaden zum Einrichten Ihrer eigenen selbst gehosteten Läufer lesen, um mehr zu erfahren.

Insgesamt ist GitHub Actions fantastisch für Bastler und funktioniert gut genug, dass die meisten kleinen Teams keine Probleme damit hätten, ihre Projekte mit dem Dienst zu erstellen.

Externe Build-Server< /h2>

Andererseits bietet ein externer Build-Server wie Jenkins oder TeamCity normalerweise erweiterte Funktionen zum Erstellen, Testen und Bereitstellen von Anwendungen und wird in der Regel von größeren Teams und Unternehmen wegen der größeren Flexibilität bevorzugt.

Wenn Ihr Team viele Projekte hat, ist es sehr nützlich, einen zentralen Ort zur Verwaltung der Automatisierung und Bereitstellung dieser Projekte zu haben. Dies trennt die Belange der einzelnen Dienste und ermöglicht es der Quellcodeverwaltung, sich auf das Hosten Ihres Codes und den Build-Server auf dessen Erstellung zu konzentrieren.

Wenn Sie beispielsweise die Build-Skripte für viele Repositorys verwalten möchten, müssen Sie dies über die Einstellungen jedes Repositorys tun. Mit einem Build-Server können Sie jedoch Gruppen von Build-Konfigurationen erstellen, die alle dieselbe Vorlage verwenden, und Änderungen an der Vorlage vornehmen. Es ist auch einfach einfacher zu sehen, was mit Ihrer Automatisierung im Allgemeinen passiert, wenn Sie ein schönes Dashboard haben

TeamCity-Dashboard

Die Trennung des Build-Systems von der Quellcodeverwaltung ermöglicht außerdem eine größere Flexibilität bei der Auswahl Ihrer Tools und Dienste. Wenn Sie beispielsweise alternative Quellcodeverwaltungslösungen wie Gitlab oder BitBucket verwenden möchten, können Sie diese problemlos ersetzen, ohne die Konfiguration Ihres Build-Servers zu beeinträchtigen. Mit GitHub Actions sind Sie grundsätzlich an die Verwendung von GitHub gebunden.

Standalone-Lösungen können auch Konfigurationsdateien im YAML-Stil verwenden, verfügen jedoch in der Regel über mehr integrierte Funktionen und bieten eine bessere Kontrolle über die Schritte und die Automatisierung. Beispielsweise unterteilt TeamCity den Build in einzelne Schritte, die jeweils unterschiedliche Skripte, Aktionen oder ausführbare Dateien ausführen können und mit größerer Genauigkeit als eine einfache YAML-Datei konfiguriert werden können.

Zuletzt noch die Funktionen und Integrationen, die proprietäre Lösungen bieten, sind nützlich und im Allgemeinen schön zu haben. TeamCity bietet beispielsweise eine benutzerdefinierte Slack-App-Integration, die Build-Fehler direkt an Ihr Team protokollieren kann.

< p>Wenn Ihr Team mehrere Projekte hat und Wert auf deren effiziente Verwaltung legt, kann es sich insgesamt lohnen, über die Einrichtung eines eigenen CI/CD-Servers nachzudenken.

Zum Glück gibt es viele gute CI/CD Lösungen sind kostenlos oder Open Source. Jenkins ist vollständig Open Source, erfordert jedoch Selbsthosting. JetBrains TeamCity ist kostenlos, wenn Sie selbst hosten, bietet aber auch einen kostenpflichtigen Cloud-Service an. Travis CI ist nur kostenpflichtig, ist aber eine weitere beliebte Lösung, die in der Branche verwendet wird.

VERWANDTE: So erstellen Sie einen Jenkins Build Server

WEITER LESEN

  • › Microsoft Edge geht gegen Benachrichtigungs-Spam vor
  • › Mechanische Tastatur von Corsair zum Allzeittiefstpreis und weiteren Angeboten
  • › Dieser neue ASUS Tiny PC ist überraschend leistungsstark
  • › So erstellen Sie GIFs auf dem iPhone
  • › 11 Möglichkeiten, Notepad in Windows zu öffnen
  • › Die besten tragbaren Kraftwerke des Jahres 2023


Posted

in

by

Tags: