Using Redmine as a help desk ticketing software
During one of my mission, I wanted to improve the support which was with simple emails.
As we were using the wonderful Redmine as a bug tracker, I found convenient to be able to forward bugs tickets and stuff directly into development projects.
After some research, I found the plugin Helpdesk.
It turn Redmine into an efficient ticketing software. Like before, users send an email and for each email a new issue and a contact (if not exist yet) are created. Helpdesk can handle the back and forth communication, attachment and send notifications. A crontab is running every minute to get new emails and inject them into Redmine.
Moreover, if you have any trouble, the developer Kirill is nice and helpful!
Gérer les branches avec Mercurial
En passant de SVN à Mercurial et également car l’équipe de développement a triplé en l’espace de quelques semaines, nous avions envie d’instaurer un nouveau modèle pour gérer les nombreux développements en cours.
Nous nous sommes inspiré de l’excellent article de Vincent Driessen “A successful Git branching model” qui présente un modèle avec Git, mais qui peut également s’appliquer à Mercurial. Et voici le résultat :
- La branche Master suit les développements en cours, c’est la branche de base pour les nouveaux devs.
- Les branches Dev sont les développements en cours.
- Les branches Hot Fixes sont de rapides corrections de bugs.
- Les branches release sont les branches en cours de recette.
- La branche prod est bien sur la version stable du site.
Ce système permet bien sûr d’effectuer plusieurs développements en parallèle, mais également plusieurs recettes.
Workflow
- Chaque développeur travaille sur sa propre branche.
- Une fois le développement terminé, il est une première fois recetté par le développeur.
- Il est ensuite mergé dans la branche Master pour une recette plus poussée sur le développement concerné.
- Après validation, la branche master est mergée avec la branche release pour une recette de non-régression du site complet en préproduction. La branche master peut également contenir d’autres développements.
- Une fois le test de non-régression passé, la branche release est mergée avec la branche prod.
Note
Il est important de conserver un train de livraison constant afin de ne pas faire vieillir certaines branches de développement qui seront par la suite difficiles à intégrer dans le master (nombreux conflits).