Mir sind verschiedene Tools / Dienste bekannt, die das Durchsuchen und Verwalten von DVCS ermöglichen, z. B. Bitbucket , Github , Kiln , SCM-Manager und Rhodecode .
Der Anwendungsfall, den ich in Betracht ziehe, sieht jedoch so aus:
- Jeder Quellcode muss sich auf den internen Servern eines Arbeitgebers befinden.
- Die Lösung muss Open Source sein.
- Es sollte ein Bitbucket- oder Github-ähnliches Erlebnis bieten, einschließlich eines Projekt-Wikis, Repository-Browsing und -Management sowie Aspekten der sozialen Codierung wie Code-Überprüfung.
- Die Lösung sollte Quecksilber-Unterstützung bieten (sofern diese nicht für andere DVCSs unterstützt wird).
Davon kommen nur SCM-Manager und RhodeCode zum Einsatz, da sie auf Ihren eigenen Servern installiert werden können und Open Source sind. Sie haben jedoch nicht die Erfahrung von Bitbucket oder Github. Es gibt keinen Issue Tracker oder Wiki und die Benutzeroberfläche ist zwar funktionsfähig, aber nicht mit Github oder Bitbucket vergleichbar.
Ich kann Trac oder Redmine mit ihren Repository-Browsern näher bringen, aber leider haben sie keine Repository-Verwaltungsfunktionen.
Gibt es andere Open-Source-Tools, die Bitbucket, Github oder Kiln ähneln?
quelle
Antworten:
Ich würde mir Fossil ansehen. Es ist das System, das die Entwickler von SQLite anscheinend intern verwenden. Es ist auch verwendet SQLite, die eine gute und solide Technologie ist ... das ist schön und tragbar - sowie einfach und zuverlässig.
Es hat eine gute, wenn auch strenge Benutzeroberfläche (was meiner Meinung nach der Natur eines produktivitätsorientierten Ziels entspricht, wie Sie es beschreiben). ((Schauen Sie sich unbedingt das "graue" Thema an. Es ist weitaus weniger "Router-Admin" als das Standard "Thema", wenn Sie es so nennen könnten.)) Ich habe mich wegen seiner Wurzeln als CGI dafür interessiert basiertes System, weil ich ein Trottel für CGI bin. Die Ergebnisse dieses Erbes sind tatsächlich sehr interessant, da dieses System einen sehr einzigartigen JSON-ONLY-Modus hat, der alle möglichen interessanten Implementierungsmöglichkeiten bietet.
Sie erwähnen es - aber es lohnt sich zu wiederholen, dass es 0 Abhängigkeiten hat. Kein PHP, kein MySQL, kein Python. Nada. Es ist eine eigene ausführbare Binärdatei und funktioniert auf vielen Plattformen. Ich wünsche mir mehr Projekte, die auf die gleiche Weise "gedacht" haben.
Ich bin nicht mit ihnen verbunden, daher zitiere ich einfach die Lobeshymnen der ersten Seite , denen ich im Allgemeinen zustimme. Schauen Sie sich auch Fragen und Kritik an .
Update: Anstatt auf die Benutzeroberfläche zu verweisen, hier eine kurze Darstellung… Wie Sie sehen, ist es definitiv einfach. Aber das bedeutet auch eine saubere Tabelle für die Anpassung. Nur ein einziges Stylesheet und ein Kopf- / Fuß- / Körpertyp Template-System. Es ist besser, eine Kurzgeschichte zu schreiben, als das Buch eines anderen, IMO, neu zu schreiben.
quelle
Gitorious ist Open Source und Sie können es auf Ihrem eigenen Server mithilfe von Skripten installieren, die von der Gitorious Community Edition bereitgestellt werden (siehe http://www.getgitorious.com/installer ). Gitorious unterstützt jetzt Wikis und Issue Tracking. Es ist auch ein Docker-Image verfügbar, mit dem Sie es schnell zum Laufen bringen können.
Eine andere Option wäre Gitlab, das im Grunde genommen ein GitHub-Klon ist, nicht so ausgereift wie großartig, aber mit monatlichen Veröffentlichungen in ständiger Entwicklung.
Sie könnten auch mehr Optionen wollen überprüfen hier
quelle
Ihre Einschränkungen sind ziemlich spezifisch, aber ich denke, Sie können die gewünschten Ergebnisse mit ChiliProject + -Plugins erzielen .
ChiliProject ist eine Abzweigung von Redmine, die aktualisierte Versionen von Ruby / Rails verwendet. Es unterstützt Git und Mercurial sehr gut und repliziert die Funktionalität von Github Issues, nach der Sie suchen, indem Sie Commit-Nachrichten analysieren (dh
refs 291
bei einem Commit wird ein Commit mit Issue Nr. 291 verknüpft).Es gibt auch Redmine / ChiliProject- Plug-ins , die Funktionen wie Codeüberprüfung , Syntaxhervorhebung und andere von Github bereitgestellte Vorteile bieten, die bei Open-Source-Wettbewerbern möglicherweise nicht offensichtlich oder ohne Weiteres verfügbar sind.
Es gibt andere Optionen, JIRA usw., aber sie (IMHO) bieten nicht die Flexibilität oder Fülle von Funktionen, die der ChiliProject-Zweig von Redmine + die Vielzahl der verfügbaren Plugins bietet. Es gibt nicht viel, was Github und / oder BitBucket für Sie tun, was ChiliProject (möglicherweise mit frei verfügbaren Plugins) nicht kann. und das Schöne ist, wenn es noch nicht existiert, ist es normalerweise ziemlich trivial, es selbst zu implementieren.
Wenn das nach mehr klingt als Sie brauchen ... Ich habe es noch nicht ausprobiert, aber GitLab sieht auch interessant aus ... es scheint nicht die Erweiterbarkeit oder Plugin-Architektur von Redmine / Chili zu haben, aber wenn Sie suchen Für einen Open-Source-Klon von Github mit den meisten Kernfunktionen (und Sie müssen nicht mehrere DVCSs unterstützen) sieht es ziemlich gut aus.
quelle
Allura http://sf.net/p/allura sollte die Rechnung passen. Es ist die Plattform für alle neuen (oder aktualisierten) Projekte bei SourceForge und Open Source. Es unterstützt Mercurial und Wikis sowie viele weitere Tools (Git, SVN, Ticket Tracker, Foren usw.). Es verfügt nicht über eine "Codeüberprüfung", unterstützt jedoch das Verzweigen und Zusammenführen von Anforderungen für Mercurial- und Git-Repos.
Es ist in Python geschrieben und verwendet MongoDB und Solr zur Datenspeicherung.
Allura befindet sich derzeit auch im Apache Incubator: http://incubator.apache.org/projects/allura.html
Ich arbeite für SourceForge und helfe bei der Entwicklung von Allura.
quelle
Für genau dasselbe Thema bei der Arbeit verwenden wir ein Ökosystem bestehend aus:
Die DVCS-Integration in Redmine hat sich in späteren Releases sprunghaft verbessert. Ich habe vor einigen Wochen ein Upgrade durchgeführt und bin äußerst erfreut, dass die meisten "Fallstricke" verschwunden sind.
Ich habe den Redmine- und den RhodeCode-Server auf demselben Host ausgeführt, da Redmine noch keine Remote-HG-Repos unterstützt. Jenkins läuft auf mehreren anderen Hosts.
Ich benutze einen RhodeCode-Hook, um in Redmine Quecksilber-Pulls auszulösen. Ich kann wegen JENKINS-13717 keinen Haken für Jenkins -Pulls verwenden , aber ich habe bereits einen Patch dafür eingereicht und ich denke, er wird ziemlich schnell akzeptiert. In der Zwischenzeit wähle ich alle paar Minuten die HG-Repos ab.
Alles läuft unter Debian 6.0 über Nginx-Reverse-Proxying, um eine SSL-Kündigung zu erhalten (all dies wird nur über SSL verwendet). Kürzlich wurde das gesamte Paket auf einen ProxMox-Cluster verschoben, um alles mit bisher hervorragenden Ergebnissen zu virtualisieren. Falls Sie das Produkt nicht kennen, sollten Sie es sich ansehen. Es ist eines der Produkte " Ich kann nicht glauben, dass es das gibt und ich wusste nichts davon und OMG ist auch Open Source! ". Wir führen diese Dienste auf OpenVZ-Containern aus, die für Hardware-Reparaturen / -Upgrades leicht von einem Host auf einen anderen migriert werden können. Auf demselben Cluster führen wir auch eine Reihe von virtuellen KVM-Maschinen für automatisierte Tests auf Windows-Plattformen aus.
Ich bin sehr zufrieden mit diesem Ökosystem. Es hat die Fähigkeit unseres Entwicklerteams / QA-Teams verbessert, Probleme zu reproduzieren und Änderungen mit einem riesigen Spielraum nachzuverfolgen. Nur ein paar Warnungen:
commit:abcd1234
.Ich kann dieses Setup ohne zu zögern weiterempfehlen, da ich damit sehr zufrieden bin. Wenn Sie Hilfe bei der Konfiguration eines bestimmten Dienstes benötigen oder einen Blick auf meine Konfigurationsdateien werfen möchten, können Sie sich gerne an uns wenden.
quelle
Schauen Sie sich cydra an: https://github.com/mensi/cydra, für das es Unterstützung gibt
Es basiert auf einem projektbasierten Ansatz, mit dem Sie ein Projekt erstellen und ihm mehrere Repositorys zuweisen können (höchstens ein SVN-Repository). Die Authentifizierung basiert auf einzelnen Plugins (wir haben sie in unser LDAP integriert).
Wir verwenden es für unsere Codierungsplattform https://code.vis.ethz.ch . Im Moment gibt es keine Unterstützung für die Codeüberprüfung, aber es könnte leicht als Plugin hinzugefügt werden.
Ich kann keine Screenshots posten, da ich nicht genug Reputation habe.
quelle
Erwägen Sie die Verwendung von GitLab https://about.gitlab.com/, da es die meisten Ihrer Anforderungen erfüllt:
Es hat auch einen guten Issue-Tracker oder Sie können einen Link zu einem externen Issue-Tracker erstellen. Sie können Ihre Zusammenführungsanforderungen mit GitLab CI testen, wenn Sie möchten. GitLab ist schnell gewachsen und wird von mehr als 25.000 Organisationen verwendet.
Offenlegung: Ich bin der CEO und Mitbegründer von GitLab BV
quelle