Je connais plusieurs outils / services offrant une navigation et une gestion DVCS, tels que Bitbucket , Github , Kiln , SCM-Manager et Rhodecode .
Cependant, le cas d’utilisation que j’envisage est tel que:
- Tout code source doit résider sur les serveurs internes de l'employeur.
- La solution doit être open source.
- Il doit fournir une expérience similaire à Bitbucket ou Github, notamment un wiki de projet, la navigation et la gestion de référentiels, ainsi que des aspects de codage social tels que la révision de code.
- La solution doit avoir un support mercurial (si ce n’est le cas pour d’autres DVCS).
Parmi ceux-ci, seuls SCM-Manager et RhodeCode se rapprochent car ils peuvent être installés sur vos propres serveurs et sont open source. Cependant, ils n'ont pas l'expérience Bitbucket ou Github. Il n'y a pas de traqueur de problème ni de wiki et l'interface utilisateur, bien que fonctionnelle, n'est pas à la hauteur de Github ou Bitbucket.
Je peux me rapprocher de Trac ou de Redmine avec leurs navigateurs de référentiel, mais malheureusement, ils ne disposent pas de fonctionnalités de gestion de référentiel.
Existe-t-il d'autres outils open source offrant une expérience similaire à Bitbucket, Github ou Kiln?
la source
Réponses:
Je voudrais regarder Fossil. C'est le système que les développeurs de sqlite utilisent, en interne, apparemment. Il utilise également sqlite, qui est une bonne technologie solide ... agréable et portable - ainsi que simple et fiable.
Il a une bonne interface utilisateur austère (ce qui, je pense, incombe à la nature d’un objectif orienté productivité, tel que celui que vous décrivez). ((Assurez-vous de vérifier le thème "gris". Il est beaucoup moins "routeur-admin" que le "thème" par défaut, si vous pouviez l'appeler ainsi.) système basé, parce que je suis une ventouse pour CGI. Les résultats de cet héritage sont réellement très intéressants, car ce système a un mode unique, JSON-ONLY qui offre toutes sortes de possibilités de mise en œuvre intéressantes.
Ils le mentionnent - mais il est intéressant de répéter qu'il a 0 dépendances. Pas de php, pas de MySQL, pas de python. Nada. C'est son propre exécutable binaire - et cela fonctionne sur de nombreuses plateformes. Je souhaite plus de projets "pensés" de la même manière.
Je ne suis pas affilié à eux, je vais donc simplement citer leurs extolations à la page d' accueil , qui, en général, je suis d'accord avec .. regardez aussi les questions et les critiques ..
Mise à jour: au lieu de faire allusion à l'interface, en voici un bref aperçu… Comme vous pouvez le voir, c'est tout simplement simple… Mais cela signifie également une table rase pour la personnalisation… Juste une seule feuille de style et un type d'en-tête / pied de page / corps système de gabarit. Mieux vaut écrire une nouvelle que de réécrire le livre de quelqu'un d’autre, IMO.
la source
Gitorious est open source et vous pouvez l'installer sur votre propre serveur à l'aide des scripts fournis par Gitorious Community Edition (voir http://www.getgitorious.com/installer ). Gitorious prend désormais en charge les wikis et le suivi des problèmes. Une image Docker est également disponible pour le faire fonctionner rapidement.
Une autre option serait Gitlab, qui est fondamentalement un clone de GitHub, pas aussi mature que gitorious, mais il est en plein développement avec des versions mensuelles.
Vous pouvez également vouloir vérifier plus d'options ici
la source
Vos contraintes sont assez spécifiques, mais je pense que vous pouvez obtenir les résultats que vous recherchez avec les plugins ChiliProject +.
ChiliProject est un fork de Redmine qui utilise des versions mises à jour de Ruby / Rails. Il supporte très bien git et mercurial, et réplique la fonctionnalité de problèmes de Github que vous cherchez en analysant les messages de validation (c'est-
refs 291
à- dire, dans un commit, un lien entre un commit et le numéro 291).Il existe également des plugins Redmine / ChiliProject qui fournissent des fonctionnalités telles que la révision de code, la coloration syntaxique et autres subtilités fournies par Github, etc., qui pourraient ne pas être manifestement ou facilement disponibles chez les concurrents open-source.
Il existe d’autres options, JIRA, etc., mais ils (IMHO) ne fournissent pas la richesse ou la richesse des fonctionnalités offertes par la fourchette ChiliProject de Redmine + par la multitude de plug-ins disponibles. Il n'y a pas grand chose que Github et / ou BitBucket fassent pour vous que ChiliProject (éventuellement avec des plugins disponibles gratuitement) ne puisse pas faire; et la beauté est que, si elle n’existe pas déjà, il est généralement assez simple de la mettre en œuvre vous-même.
Si cela vous semble plus que nécessaire, je ne l’ai pas encore essayé, mais GitLab a également l’air intéressant… il ne semble pas avoir l’extensibilité ni l’architecture des plugins de Redmine / Chili, mais si vous regardez pour un clone open source de Github avec la plupart des fonctionnalités de base (et vous n'avez pas besoin de prendre en charge plusieurs DVCS), cela semble très bien.
la source
Allura http://sf.net/p/allura devrait faire l'affaire. C'est la plate-forme pour tous les projets nouveaux (ou mis à niveau) de SourceForge et elle est open source. Il prend en charge Mercurial et les wikis, ainsi que de nombreux autres outils (Git, SVN, suivi des tickets, forums, etc.). Il n’a pas vraiment de «révision de code», mais il prend en charge les requêtes de regroupement et de fusion pour les dépôts Mercurial et Git.
Il est écrit en Python et utilise MongoDB et Solr pour le stockage de données.
Allura est également présent dans l'incubateur Apache: http://incubator.apache.org/projects/allura.html
Je travaille pour SourceForge et aide à développer Allura.
la source
Pour le même problème au travail, nous utilisons un écosystème composé de:
L'intégration de DVCS dans Redmine s'est améliorée à pas de géant dans les dernières versions. Je l'ai mise à niveau il y a quelques semaines et je suis extrêmement heureux que la plupart des "pièges" aient disparu.
J'exécute les serveurs Redmine et RhodeCode sur le même hôte, car Redmine ne prend pas encore en charge le dépôt HG distant. Jenkins fonctionne sur plusieurs autres hôtes.
J'utilise un crochet RhodeCode pour déclencher des tirages mercuriels dans Redmine. En raison de JENKINS-13717 , je ne peux pas utiliser de crochet pour les tirettes Jenkins , mais j’ai déjà soumis un correctif pour cela et j’imagine qu’il sera accepté assez rapidement. En attendant, je ne fais qu'interroger le reposé HG toutes les quelques minutes.
Tout fonctionne sous Debian 6.0 sur proxy inversé Nginx pour obtenir une terminaison SSL (tout cela n’est utilisé que sur SSL). Récemment, l'ensemble du package a été déplacé sur un cluster ProxMox afin de le virtualiser avec des résultats remarquables jusqu'à présent. Si vous ne connaissez pas le produit, vous devriez y jeter un coup d'œil. C'est un de ces produits " Je ne peux pas croire que cela existe et je ne le savais pas et OMG, c'est aussi de l'open source! ". Nous exécutons ces services sur des conteneurs OpenVZ qui sont facilement migrés d’un hôte à un autre pour des réparations / mises à niveau du matériel. Sur le même cluster, nous exécutons également un ensemble de machines virtuelles KVM pour les tests automatisés sur les plates-formes Windows.
Je suis extrêmement content de cet écosystème. Il a amélioré la capacité de notre équipe de développement / assurance qualité à reproduire les problèmes et à suivre les modifications de manière considérable. Juste quelques avertissements:
commit:abcd1234
.Je n'ai aucune hésitation à recommander cette configuration car j'en suis extrêmement heureux. Si vous avez besoin d'aide pour configurer un service spécifique ou si vous souhaitez consulter mes fichiers de configuration, n'hésitez pas à demander.
la source
Jetez un oeil à cydra: https://github.com/mensi/cydra il a un support pour
Il fonctionne sur une approche par projet qui vous permet de créer un projet et de lui affecter plusieurs référentiels (au plus un référentiel SVN). L'authentification est basée sur des plugins individuels (nous l'avons intégrée dans notre LDAP).
Nous l'utilisons pour notre plateforme de codage https://code.vis.ethz.ch . Pour le moment, la révision de code n'est pas prise en charge, mais elle pourrait facilement être ajoutée en tant que plug-in.
Je ne peux pas poster de captures d'écran car je n'ai pas assez de réputation.
la source
Pensez à utiliser GitLab https://about.gitlab.com/ car il répond à la plupart de vos besoins:
Il possède également un bon outil de suivi des problèmes ou vous pouvez vous connecter à un outil de suivi des problèmes externe. Vous pouvez tester vos demandes de fusion avec GitLab CI si vous le souhaitez. GitLab a connu une croissance rapide et est utilisé par plus de 25 000 organisations.
Divulgation: Je suis le PDG et co-fondateur de GitLab BV
la source