Drew DeVault, Autor der Benutzerumgebung und des E-Mail-Clients , über die Umsetzung eines Projekt-Hubs auf der entwickelten Plattform für gemeinsame Entwicklung . Entwickler können nun Projekte erstellen, mehrere Dienste vereinen und vorhandene Projekte durchsuchen. Die Sourcehut-Plattform zeichnet sich durch die Möglichkeit aus, vollständig ohne JavaScript zu arbeiten, hohe Leistung und die Organisation der Arbeit im Stil von Unix-Mini-Diensten. Die Funktionalität eines Projekts in Sourcehut wird von separaten Komponenten gebildet, die kombiniert und einzeln verwendet werden können, etwa nur Tickets oder nur Code, ohne dass eine verbindliche Verknüpfung mit Repositories erforderlich ist. Die Möglichkeit, Ressourcen frei zu kombinieren, erschwert die Bestimmung, welche Ressourcen zu einem Projekt gehören. Der Projekt-Hub löst dieses Problem und ermöglicht es, alle projektbezogenen Informationen an einem Ort zu bündeln. Beispielsweise kann nun auf einer Projektseite eine allgemeine Beschreibung sowie die in das Projekt einfließenden Repositories, Fehlerverfolgungsabschnitte, Dokumentationen, Support-Kanäle und Mailinglisten untergebracht werden.
Die Sourcehut-Plattform zeichnet sich durch die Möglichkeit aus, vollständig ohne JavaScript zu arbeiten, eine hohe Leistungsfähigkeit und die Organisation der Arbeit in Form von Mini-Services im Unix-Stil. Die Funktionalität des Projekts in Sourcehut besteht aus einzelnen Komponenten, die kombiniert und separat verwendet werden können, zum Beispiel nur Tickets oder nur Code, ohne dass eine verbindliche Zuordnung des Repositories zu den Tickets erforderlich ist. Die Möglichkeit, Ressourcen frei zu kombinieren, erschwert die Bestimmung, welche Ressourcen zu einem Projekt gehören. Der Projekt-Hub löst dieses Problem und ermöglicht es, alle projektbezogenen Informationen an einem Ort zu sammeln. Beispielsweise kann nun auf einer Projektseite eine allgemeine Beschreibung sowie die zugehörigen Repositories, Abschnitte zur Fehlerverfolgung, Dokumentation, Support-Kanäle und Mailinglisten platziert werden.
Für die Integration mit externen Plattformen stehen API und ein System zur Anbindung von Web-Handlern (Webhooks) zur Verfügung. Zu den zusätzlichen Funktionen von Sourcehut gehören die Unterstützung von Wiki, ein kontinuierliches Integrationssystem, Diskussionsforen per E-Mail, eine baumartige Ansicht von Archiv-E-Mail-Verteiler, die Überprüfung von Änderungen über das Web sowie das Hinzufügen von Anmerkungen zum Code (Anfügen von Links und Dokumentation). Neben Git wird auch Mercurial unterstützt. Der Code ist in Python und Go geschrieben und Die Veröffentlichung des Video Players MPV 0.32
es ist möglich, öffentliche, private und versteckte Repositories mit einem flexiblen Zugangskontrollsystem zu erstellen, das die Teilnahme von Benutzern ohne lokale Konten (Authentifizierung über OAuth oder Teilnahme per E-Mail) ermöglicht. Zur Information und Koordination von Sicherheitsbugfixes steht ein System für private Problemberichte zur Verfügung. Die von jedem Dienst versendeten E-Mails werden mit PGP verschlüsselt und verifiziert. Für den Zugriff wird eine Zwei-Faktor-Authentifizierung auf der Grundlage von einmaligen TOTP-Schlüsseln verwendet. Für die Analyse von Vorfällen wird ein detailliertes Audit-Log geführt.
Die integrierte Infrastruktur zur kontinuierlichen Integration ermöglicht
Automatisierte Builds in virtuellen Umgebungen auf verschiedenen Linux- und BSD-Systemen. Direkte Übertragungen in CI-Bauarbeiten sind ohne Speicherung im Repository zulässig. Die Ergebnisse der Builds werden in der Benutzeroberfläche angezeigt, an die E-Mail gesendet oder über Webhooks übertragen. Bei der Fehlersuche ist eine SSH-Verbindung zu den Build-Umgebungen möglich.
In der aktuellen Entwicklungsphase arbeitet Sourcehut schneller als konkurrierende Dienste. Seiten mit zusammenfassenden Informationen, Commit-Listen, Änderungsprotokollen, Code-Ansichten, Issues und Dateibäumen laden 3-4 mal schneller als GitHub und GitLab und 8-10 mal schneller als Bitbucket. Es ist zu beachten, dass Sourcehut derzeit noch in der Alpha-Entwicklungsphase ist und viele geplante Funktionen noch nicht verfügbar sind, beispielsweise fehlt bis jetzt eine Web-Oberfläche für Merge-Anfragen (der Merge-Antrag muss durch das Erstellen eines Tickets und das Hinzufügen eines Links zum entsprechenden Branch in Git erfolgen). Ein weiterer Nachteil ist die eigenwillige Benutzeroberfläche, die für Nutzer von GitHub und GitLab ungewohnt ist, jedoch dennoch einfach und sofort verständlich bleibt.
Quelle: opennet.ru
