Die kollaborative Entwicklungsplattform Forgejo 12.0 wurde veröffentlicht. Sie ermöglicht die Bereitstellung eines Systems für die kollaborative Arbeit mit Git-Repositorys auf Ihren Servern, das in seinen Aufgaben GitHub, Bitbucket und Gitlab ähnelt. Forgejo ist ein Fork des Gitea-Projekts, das wiederum von der Gogs-Plattform abstammt. Forgejo wurde 2022 nach Versuchen zur Kommerzialisierung von Gitea und der Übertragung der Kontrolle an ein kommerzielles Unternehmen abgespalten. Das Forgejo-Projekt folgt den Prinzipien der unabhängigen Verwaltung und Community-Kontrolle. Der Git-Hoster Codeberg.org ist auf Forgejo umgestiegen. Der Projektcode ist in Go geschrieben und wird unter der GPLv3-Lizenz vertrieben.
Die wichtigsten Merkmale der Plattform sind der geringe Ressourcenverbrauch (sie kann auf dem Raspberry Pi-Board oder in kostengünstigen Systemen verwendet werden). VPSund ein einfacher Installationsprozess. Standardmäßige Projektmanagementfunktionen sind vorhanden, darunter Aufgabenverwaltung, Problemverfolgung, Pull Requests, Wiki, Tools zur Koordination von Entwicklerteams, Release-Vorbereitung, automatisierte Paketplatzierung in Repositories, Zugriffsrechteverwaltung, Integration mit Continuous-Integration-Plattformen, Codesuche, Authentifizierung via LDAP und OAuth, Repository-Zugriff via SSH und HTTP/HTTPS, Webhooks zur Integration mit Slack, Discord und anderen Diensten, Unterstützung für Git Hooks und Git LFS sowie Tools zur Migration und Spiegelung von Repositories. Eine Besonderheit ist die Möglichkeit, mithilfe des ActivityPub-Protokolls einzelne Projekte zu einem föderierten Netzwerk zusammenzuschließen. Server Entwickler.
Wichtigste Änderungen:
- Die Benutzerprofilseite wurde neu gestaltet. Dem Profilmenü wurden zusätzliche Aktionen hinzugefügt.

- Verbesserte Oberfläche zur Überprüfung von Pull Requests auf Commit-Ebene (anstelle eines vollständigen Changelogs, das alle Commits abdeckt, werden in diesem Modus einzelne Commits sequenziell überprüft). Vorwärts- und Zurück-Schaltflächen wurden hinzugefügt, um während der Überprüfung durch die Commits zu navigieren. Die Verwendung der Schaltfläche zum Beenden der Überprüfung für einzelne Commits wurde zugelassen. Der Commit-Erklärungstext wurde auf den Überprüfungsseiten sichtbar gelassen.

- Eine Option zum Senden von E-Mail-Benachrichtigungen über Fehler bei der Ausführung geplanter Jobs (Forgejo-Aktionen) wurde hinzugefügt.
- Die Prüfung auf Konflikte mit offenen Pull Requests beim Pushen neuer Commits in den Zielzweig wurde optimiert. Zuvor führte eine solche Prüfung zu einer I/O-Last proportional zur Anzahl der offenen Pull Requests, da die Operation auf den Arbeitsbaum angewendet wurde. Der Wechsel zum Befehl „git merge-tree --write-tree“ ermöglichte das Mergen ohne Zugriff auf den Arbeitsbaum, was die Last bei großen Deployments deutlich reduzierte.
- Die Möglichkeit, SSH für Aufgaben zu verwenden, die zuvor an OpenPGP gebunden waren, wurde hinzugefügt. Zum Signieren von Commits nach dem Bearbeiten von Dateien oder dem Akzeptieren von Änderungen kann nun ein SSH-Schlüssel anstelle eines GPG-Schlüssels verwendet werden (die Signatur wird im TPM über den SSH-Agent generiert).
- Standardmäßig wird eine robots.txt-Datei hinzugefügt, um Bots über Abschnitte zu informieren, die nicht indexiert werden sollen.
- Eine Funktion hinzugefügt, um den Fork mit dem Hauptprojekt synchron zu halten.

- Unterstützung für die Vorschau von 3D-Modellen im glTF-Format hinzugefügt.

- Im Kommentareditor können Sie jetzt mit der Tabulatortaste Einrückungen vornehmen.
- Basierend auf Alpine 3.22 wurde ein gebrauchsfertiges Container-Image zum Ausführen von Forgejo 12 erstellt, unter Verwendung von Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 und OpenSSH 10.0.
Source: opennet.ru




