Selbst gehostete Github-Alternative mit Multi-Client-Repository-Zugriff

Ähnlich wie bei dieser Frage hätte ich gerne eine Alternative zu Github, die selbst gehostet werden kann. Dies sind meine Anforderungen (sie unterscheiden sich in 2 und 11 von der verknüpften Frage). Anforderung 11 (oder eine praktikable Alternative) ist ein Muss.

  1. Relativ gute Web-UI: Quellcode und Commit-Browsing sind ein Muss.
  2. Unterstützung für Git und Subversion. Unterstützung für Mercurial ist ein Plus.
  3. SSH-Shell (Repositorys müssen über ssh zugänglich sein, anstatt nur über http, obwohl zumindest git alle Operationen über http relativ gut unterstützt)
  4. Berechtigungen: mind
    • private/öffentliche Repositories
    • Lesezugriff und Vollzugriff
    • Gleicher Berechtigungssatz für die Web-Benutzeroberfläche und für SSH (beim Erteilen/Ändern von Berechtigungen sollte dies für beide widergespiegelt werden)
    • vorzugsweise Integration in LDAP (sowohl Benutzer als auch Gruppen für Berechtigungen)
  5. Pull-Requests (auch bekannt als Merge-Request)
  6. Verwaltungswerkzeuge: Repositories erstellen, Zugriff gewähren
  7. Einfacher Issue-Tracker: Tickets erstellen, kommentieren, schließen, Tags/Labels
  8. Suchen Sie vorzugsweise nach Tickets, Benutzern, Projekten, Dateinamen und im Quellcode
  9. Vorzugsweise Forking von der Web-UI
  10. Läuft vorzugsweise unter Linux
  11. Greifen Sie mit dem Subversion-Client auf Git-Repositories zu (z. B. über eine http(s)-URL).

Muss entweder Open Source sein (was bedeutet, dass es in Ordnung ist, wenn einige kleinere Funktionen fehlen) oder erschwinglich (> 2400 € / Jahr für 30 Benutzer sind zu teuer).

Als Hintergrund möchte ich unser vorhandenes Subversion-Repository beibehalten und auf eine bestimmte Version eines externen Git-Repositorys (in diesem Fall buildroot) verweisen. Gelegentlich möchte ich die externe Version auf eine neuere Version aktualisieren, indem ich die externe Referenz wechsele und alle Fehler im Zusammenhang mit den Updates behebe. Wenn möglich, möchte ich auch einen Klon des externen Git-Repositorys innerhalb des selbst gehosteten Systems speichern.

Wenn dies nicht möglich ist, können Sie eine alternative Methode empfehlen, um den gleichen Zweck zu erreichen?

Willkommen bei den Softwareempfehlungen! Normalerweise ist es besser, alle Informationen für eine Frage im Fragetext zu behalten. Ich habe die Elemente aus der verlinkten Frage hier integriert, bitte schau, ob ich alles richtig gemacht habe.
@AngeloFuchs Danke - ich habe es ein bisschen aufgeräumt.
Beachten Sie, dass „Open Source“ nicht unbedingt „kostenlos“ bedeutet.

Antworten (2)

GitLab Community Edition scheint die meisten Ihrer Kriterien zu erfüllen.

Willkommen bei den Softwareempfehlungen! Derzeit ist Ihre Antwort etwas dünn. Könnten Sie näher darauf eingehen, wie dieses Tool die Ziele des OP erreicht? Wir möchten, dass unsere Empfehlungen mehr sind als nur ein Link und „Das könnte funktionieren“. Hast du das Tool benutzt? Was sind Ihre Erfahrungen? Was sind seine Vor- und Nachteile? Irgendwelche Situationen, die offensichtlich nicht lösbar sind? Sagen Sie uns, was dieses Tool zum richtigen Tool macht.

RhodeCode könnte hier gut passen. Es ist eine selbst gehostete Open-Source-Plattform für die Quellcodeverwaltung hinter der Firewall.

Schnittstelle von RhodeCode

Blick auf Ihre Anforderungen:

✓ Relativ gute Web-Benutzeroberfläche: Quellcode und Commit-Browsing

✓ Unterstützung für Git, Subversion und Mercurial

✓ SSH-Shell (Repositories müssen über ssh erreichbar sein)

✓ Berechtigungen: private/öffentliche Repositories, Nur-Lese- und Vollzugriff

✓ Gleicher Berechtigungssatz für Web-UI und für SSH

✓ Integration in LDAP (sowohl Benutzer als auch Gruppen für Berechtigungen)

✓ Pull-Requests (auch bekannt als Merge-Request)

✓ Verwaltungstools: Repositories erstellen, Zugriff gewähren

✓ Suchen Sie nach Tickets, Benutzern, Projekten, Dateinamen und Inside-Quellcode

✓ Forking vorzugsweise von der Web-UI

✓ Läuft vorzugsweise unter Linux

Hier sind einige der Funktionen von RhodeCode:

Gruppenarbeit

  • Code-Überprüfungen
  • Seite an Seite diffs
  • Pull-Anfragen
  • Inline-Quellcode-Chat
  • Volltextcodesuche und Quellcodeindizierung
  • webbasiertes Hinzufügen, Bearbeiten und Löschen von Dateien
  • Codeschnipsel (Gists).

Repository-Verwaltung

  • einheitliche Unterstützung für Mercurial, Git und Subversion
  • Feingranulare Benutzerverwaltung und Tools für die Zugriffskontrolle
  • Erweitertes Berechtigungssystem mit IP-Einschränkungen.

Codesicherheit und Authentifizierung

  • steckbares Authentifizierungssystem mit Tokens und LDAP-Unterstützung, Atlassian Crowd, Http-Headers, Pam.
  • Enterprise-Authentifizierungsoptionen: Active Directory, GitHub/Google/BitBucket-Authentifizierung, 2-Faktor-Authentifizierung. Integration mit Issue Trackern und CI-Tools von Drittanbietern (Jira, Redmine, Jenkins usw.)