Intégration Redmine et Git
j'envisage de passer de svn et Trac à git et Redmine. Je me demandais simplement ce que tout le monde l'expérience de cette. Comment git intégrer avec Redmine?
je suis assez fixé sur ma décision de passer de svn à git - notre travail distribué, et la nécessité de se connecter et fusionner fréquemment rendrait la vie considérablement plus facile avec git. Mais nous aurions peut-être besoin de diviser les choses en plusieurs projets. D'après ce que j'ai lu, git et de nombreux projets ne intégrer trop facilement avec Trac. Cela dit, dans mes enquêtes sur git, Redmine a aussi attiré mon attention, et certaines de ses fonctionnalités semblent très utiles.
cependant, je n'ai pas trouvé autant d'expériences utilisateur de git et Redmine que ce que je voudrais (probablement en raison de mon manque de compétences de recherche...) et donc aimerais entendre vos opinions et des exemples.
6 réponses
j'ai construit un système l'année dernière qui a utilisé Gitorious et Redmine. Vous pouvez intégrer git directement avec Redmine, pas de problèmes là-bas, mais je vous conseille vivement d'avoir un regard sur Gitorious ainsi que l'outil pour contrôler vos dépôts et suivre leurs événements. Il peut également être utilisé pour contrôler l'accès aux dépôts etc.
intégrer Gitorious et Redmine est assez simple. J'ai écrit un scénario qui détourne les sentiers battus. Ils sont enregistrés dans le système de fichiers hashed lorsque vous utilisez Gitorious donc lier ces dépôts à Redmine serait un peu complexe autrement. Mon script fait des liens vers ces dépôts dans un format beaucoup plus lisible donc les relier à Redmine est vraiment simple, et seulement requis une fois lorsque vous créez le projet. Vous pouvez trouver le script ici.
fondamentalement, vous n'avez pas besoin de vous inquiéter de l'intégration beaucoup depuis Redmine soutient git-of-box - sorte de. Bien sûr, vous devez avoir le service git exécuter sur le serveur où vous" produisez " les dépôts sont (ceux que vous liez à Redmine, faites vos tests automatisés, etc), mais cela est également résolu avec Gitorious.
j'ai en fait écrit ma thèse de baccalauréat sur cette question. C'est déjà un peu dépassé depuis que gitorious et Redmine ont beaucoup évolué, mais je peux le rendre disponible si vous voulez le lire. La thèse explique ce qui doit être fait (certains de ces problèmes ont déjà été résolus par les deux outils) et elle aussi inclut un environnement d'intégration continue qui construit automatiquement des paquets lorsque les utilisateurs poussent des changements vers les dépôts et les mettent dans un dépôt reprepro où des testeurs, etc. pouvez facilement les télécharger avec un navigateur web.
Redmine a eu quelques problèmes l'année dernière, notamment l'absence de sous-projets était un peu gênant mais cela a été rectifié dans la version 0.9. Aussi les plugins devraient être testé bien avant la prise en production, certains juste ne pas mélanger bien et certains ne fonctionne pas du tout (probablement un conflit entre la version Redmine et la version plug-in). Dans l'ensemble, cependant, Redmine fonctionne assez bien et doit être facilement extensible à vos besoins. Le Support pour Gitorious est superbe, pour Redmine un peu plus sporadique (damn French?) mais les deux outils ont suffisamment de bases d'utilisateurs qu'ils devraient être des paris sûrs.
Git est un très bon outil de contrôle de version spécialement pour les équipes agiles. Il faut un certain apprentissage et vous devez écrire un guide sur la façon de l'utiliser pour vos développeurs pour en tirer le meilleur parti, mais une fois que vous l'apprenez, c'est extrêmement productif. Nous avons écrit notre propre qui indique juste le processus de travail normal. La ramification, la fusion etc. devrait être expliqué, par exemple travailler sur la branche principale de votre dépôt personnel n'est pas une si bonne idée. Toujours créer une branche et y travaillent. Lorsque vous faites des modifications à votre branche principale depuis un autre dépôt, il est plus facile de gérer la fusion de cette façon - et vous ne pousserez pas accidentellement quelque chose que vous ne pensiez pas de.
c'est un grand match pour cause de flexibilité dans ces deux belles plate-forme
Intégration D'Installation
- configuration du dépôt git officiel (master) dans un autre endroit à l'aide de gitolite ou gerrit pour faciliter l'administration, depuis redmine ne pas fournir ces fonctionnalités de git
- exécuter en simple tâche cron pour sync master repo git pour redmine, git repo comme mode readonly
intégration utilisation des deux
- voir automatiquement le relation avec les questions avec git commit
- contrôle automatique du problème avec git commit
s'il vous plaît prendre un coup d'oeil à mon blog à gap-des exigences à la mise en oeuvre et au déploiement et intégration ALM-redmine avec git, bien fait
de toute façon je suis heureux avec l'intégration.
support limité pour les dépôts multi git
une chose que j'ai remarqué, c'est qu'il ne supporte pas les dépôts multi Gits, voir la fonction http://www.redmine.org/issues/779
aussi quand vous configurez le dépôt git pour la première fois, il ne peut pas être modifié, soyez conscient de cela
Bonjour, j'ai écrit un guide pour cela il y a quelques temps. Le guide installe un git propre et une redmine propre. Aucun autre logiciel supplémentaire requis. Il vous permet même de gérer les comptes dans redmine via http git.
Vous pouvez le trouver ici: http://codersopinion.com/blog/install-redmine-with-automated-git-on-centos-redhat/
parce que j'ai écrit ce guide il y a un certain temps, les versions pourraient ne pas correspondre mais il devrait quand même fonctionner avec les versions actuelles.
je suis tombé sur ce fil lors de la recherche sur la façon d'intégrer Redmine avec Gitorious correctement. Puisque nous y sommes parvenus et que nous avons maintenant une expérience à long terme (ou à moyen terme), j'ai pensé que je pourrais la partager.
nous avons adopté une approche différente de celle de cronjobs, car elle était un peu trop rigide pour nous. Nous nous référons également à d'autres tutoriels pour la partie installation de Redmine et Gitorious dans notre blog post:
http://codepool.at/blog/archives/12
nous utilisons ce système depuis environ 5 mois maintenant et nous en sommes assez satisfaits. Le seul" problème " est que chaque fois que vous créez un nouveau projet dans Redmine, vous devez exécuter une commande de terminal pour pouvoir connecter le projet au dépôt. Puisque nous ne créons pas des projets en masse, c'est juste la bonne approche pour nous.
j'espère que cela aide!
une Autre chose que vous pourriez envisager est le contrôle d'accès. Si vous voulez être en mesure de contrôler l'accès commit à différents projets via redmine, alors cela sera utile.
Je ne suis pas sûr de savoir comment vous lier les comptes redmine avec Gitorious, mais cela pourrait être aussi possible.
je suis satisfait de ma configuration git+redmine (et de l'utilisation de gitolite pour l'administration des repos), voici quelques crochets python que j'utilise pour tirer parti de l'utilisation des deux outils :
Préambule : mise en place d'un reste.bot utilisateur
les opérations de Hooks seront effectuées en étant identifiées comme un reste.bot de l'utilisateur.
Allez dans la console D'administration de Redmine et créez ceci reste.bot de l'utilisateur.
rôles et responsabilités les autorisations page, créez un reste bot groupe Vue et Modifier comme seules permissions.
N'oubliez pas de configurer les transitions autorisées pour ce rôle sur Flux page.
Ajouter reste.bot utilisateur à vos projets avec le rôle reste bot assigné.
Client commit-msg crochet: étendre le numéro d'émission à l'émission titre
https://gist.github.com/KraYmer/4443858 pour l'édition et la copie dans <git dir>/share/git-core/templates/hooks
sur la machine client
ce crochet vous permet de faire référence à un problème de Redmine dans votre message de propagation git en tapant simplement son numéro de problème et en l'étendant automatiquement en ajoutant le sujet du problème.
'working on ref #1234' => 'working on ref #1234:Eliminate dangling pointers'
Serveur post-recevoir crochet: changer le statut de questions par l'analyse de git commit messages
https://gist.github.com/KraYmer/5292077 pour éditer et de copier dans le .gitolite/common/hooks
répertoire sur le serveur
Référencement sur les questions en messages de commit est une fonctionnalité envoyée avec la Redmine par défaut mais est limitée à simplement référencement (aucun statut modifié) ou la fermeture de la question.
Ce crochet vise à étendre l'ensemble des mots-clés reconnus pour changer le statut des questions sur commits :
$ git push
...
remote: [post-receive] Parsing 1 commits for branch 'develop'
remote: [post-receive] Setting issue #1608 status to 'totest'
...
Le crochet prend soin de récupérer les modifications dès qu'un commit est fait de sorte que les modifications sont répercutées en temps réel sur le site.