Menü

GitHub gibt Actions und Paketregistry frei

Die Software-Entwicklungsplattform hat die CI/CD-Lösung Actions und die Paketregistry für alle seine Nutzer freigegeben.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 12 Beiträge

GitHubs Vice-President of Engineering Dana Lawson präsentiert Actions und Packages.

Von

Zum Start der Entwicklerkonferenz GitHub Universe verlässt Actions den Beta-Status und ist nun für alle Nutzer der Plattform verfügbar. Auch die in die Plattform integrierte Paketregistry hat die Microsoft-Tochter freigegeben. Über sie können Pakete in verschiedenen Formaten bereitgestellt werden.

Mit diesen Änderungen nähert sich GitHub einer umfassenden Lösung zur Softwareentwicklung. Dienste für Continous Integration und Continous Delivery (CI/CD) wie Travis, CircleCI oder Jenkins arbeiten schon länger mit GitHub zusammen. Mit Actions gibt es nun die erste voll in GitHub integrierte Lösung. Beim Konkurrenten GitLab gibt es ebenfalls direkt in die Plattform integrierte CI/CI-Funktionen. Wer bisher Dienste von Dritten verwendet hat, braucht nichts zu fürchten, denn diese funktionieren weiterhin.

Die Workflows genannten Abläufe bei Actions definieren die Entwickler mittels YAML-Dateien. Die darin festgelegten Aufgaben ("Jobs"), führen dann "Runner" genannte virtuellen Maschinen aus. Wie die Jobs aussehen, bleibt dem Entwickler überlassen. In der Actions-Umgebung lässt sich praktisch jede Aufgabe umsetzen. Auch die Verwaltung von GitHub-Projekten ist damit möglich. GitHub kämpft aber aktiv gegen Missbrauch der bereitgestellten Rechenzeit für Cryptomining oder Spamming.

Auf GitHubs Marketplace haben Entwickler bereits über 1200 Worflows hochgeladen. Diese umfassen Benachrichtigungen in Chatdiensten wie Slack, automatische Analysen von Pull-Requests, Zeitverwaltung und noch zahlreiche mehr.

Entwickler können Bestandteile ihrer Workflows nun auch Cachen, um wertvolle Laufzeit zu sparen und Actions auf ARM-Systemen wie dem Raspberry Pi laufen lassen. Das aber nur als selbstgehostete Runner.

Für öffentliche Repositorys ist Actions kostenlos. Private Repositorys von GitHub-Nutzern, die keinen kostenpflichtigen Tarif gebucht haben, bekommen maximal 2000 Minuten Laufzeit. Wer zahlt, bekommt je nach Tarif mehr. Reicht das nicht, kann man Runner-Minuten nachkaufen oder eigene Runner betreiben. Ein Job darf maximal sechs Stunden in Anspruch nehmen, dauert er länger, wird er abgebrochen.

Als Betriebssysteme für die Jobs stehen dabei Windows, Ubuntu und macOS zur Wahl. Während die Linux- und Windows-Instanzen in Microsofts Azure-Cloud laufen, stellt der Anbieter MacStadium die macOS-Instanzen bereit. GitHub erlaubt zahlungsunwilligen Nutzern höchstens 20 parallele Jobs, davon dürfen nur 5 Stück auf macOS laufen. Auch für zahlende Kundschaft gibt es nur 5 macOS-Jobs. Erst ab dem Enterprise-Tarif gibt es 10 mehr. Grund dafür ist, dass Apple seit Jahren keine Server-Hardware mehr liefert und das Hosting von Macs dadurch aufwendig und folglich teuer für GitHub ist.

Mit der Paketregistry können Entwickler ihre Softwarepakete direkt auf GitHub hosten. GitHub unterstützt Node.js-Module, Ruby Gems, Apache Maven Pakete (mit oder ohne Gradle), Docker Images und NuGet-Pakete. Ob und welche Paketformate in Zukunft noch dazukommen, ist nicht bekannt. Wie auch bei Actions ist der Dienst für öffentliche Repositorys umsonst. Für private Repos geht es mit 500 MByte Speicherplatz und 1 GByte Transfervolumen los. Dabei sind Datentransfers zwischen der Paketregistry und Actions umsonst. Damit will GitHub den Entwicklern die Nutzung der Registry in Kombination mit Actions wohl schmackhafter machen.

Auch hier betritt GitHub einen Bereich, den bisher andere für sich gepachtet haben: Plattformen wie der Docker Hub oder npmjs.com sind die typischen Anlaufstellen für ihre jeweiligen Ökosysteme. Für NPM hat bereits eine Proxy-Funktion eingebaut, mit der Entwickler Pakete die nicht auf GitHub liegen auch von npmjs.com beziehen können. GitHub hier eine Verschiebung verursachen kann, bleibt abzuwarten. Gerade Docker hat seit der Ankündigung der Paketregistry fleißig an den Funktionen des Hub gearbeitet.

Hinweis: GitHub hat die Kosten für die Anreise des Autors zur Konferenz in San Francisco übernommen. (mls)