Category Archives: Technologie

Setup your devops playground with Puppet, Vagrant & co

Up until now I automated all the management of eXo Forge services using classical shell scripts shared and stored in a SCM (Subversion) .
Even if it is working very well it has various limitations especially in term of maintenance.
Nowadays we can find various server configuration management (CM) tools to ease this maintenance and the management of servers.
I won’t give you a fully detailed guide around these tools as there are already a lot of articles and documentations about them but I will try to give you an overview and a quick startup guide to play with them and to become a good DevOps citizen.
As it is often better and quicker to learn from others I would like to thanks two DevOps Masters that helped and inspired the poor padawan I am : Henri Gomez, Carlos Sanchez and R. Tyler Croy.

Continue reading Setup your devops playground with Puppet, Vagrant & co

Graven – The best of Apache Maven and Gradle

I’m back !!! I have a lot of things to share and I would like to restart this blog in english. I don’t yet know which frequency of publication I’ll be able to have but I will do my best to keep this blog alive.
To start I wanted to share with you something we developed few months ago with Gregory Boissinot (@gboissinot). While we were traveling everywhere in France to show Maven and Gradle in various Java User Groups we had a strange idea : “And if we tried to do a new tool taking the best of Gradle and Apache Maven”. Continue reading Graven – The best of Apache Maven and Gradle

Le bug Maven du jour : MRESOURCES-104

Apache MavenIl parait que je dis toujours que du bien de Maven (c’est tout du moins ce que certains ressentent en écoutant le podcast Les Cast Codeurs). C’est pourtant, je pense, loin d’être la vérité et ceux qui peuvent assister aux différents Java Users Groups que j’ai pu présenter doivent pouvoir confirmer que je n’hésite pas aussi à casser du sucre dessus.
Certainement pour me punir voilà que je tombe ce soir sur un bug qui m’a fait perdre 30 minutes. Je ne compte pas rédiger un blog par jour pour décrire un bug Maven (même si il y aurait largement de quoi faire) mais en partageant l’information j’espère éviter à quelques autres ce soucis.
Continue reading Le bug Maven du jour : MRESOURCES-104

Domptez vos versions

Apache MavenDans un soucis de qualité et de traçabilité Apache Maven a introduit et imposé dès le départ la notion de version pour identifier les projets et leurs livrables. Cependant il faut bien avouer que pendant longtemps il n’y avait pas d’outil à la disposition des équipes pour analyser et manipuler les différentes versions utilisées dans les descripteurs Maven. Ce manque a été en partie comblé il y a un peu plus d’un an par la création du plugin versions, hébergé sur http://mojo.codehaus.org que je me propose de vous présenter.
Entendu sur Les Cast CodeursCet article est un complément aux explications que j’ai pu donner dans la rubrique "les mains dans le cambouis" de l’épisode 16 du podcast Les Cast Codeurs.

Cet article est basé sur la version 1.1 du plugin versions publiée en octobre 2009.

Continue reading Domptez vos versions

Build partiel avec Maven : Construire moins pour aller plus vite.

Apache MavenApache Maven permet nativement de découper un projet en sous-modules. Chaque module est un élément autonome avec son propre cycle de vie. Maven utilise ce que l’on appel le “reactor” pour orchestrer dans un projet l’appel des différents modules en fonction de leurs dépendances.

Le concept de module, permet d’affiner la granularité des livrables et de rendre plus flexible et évolutive l’architecture de l’application. Cependant lorsque le nombre de modules d’un projet augmente cela va souvent de pair avec le nombre de lignes de code, de tests et de packages à créer. La construction du projet prend donc de plus en plus de temps à en devenir un frein pour la productivité du développeur (moi je ne trouve rien de plus énervant lorsque je développe que de devoir attendre que ma machine me rende la main).

Entendu sur Les Cast CodeursIl existe pourtant des fonctionnalités du “reactor” qui permettent à Maven de contrôler finement quels sont les modules d’un projet sur lesquels on souhaite appeler un traitement. Même si elles existent depuis près de deux ans, ces fonctionnalités sont encore peu connues et utilisées malgré leurs utilités indéniables (faute à la documentation ?). Ce billet illustre mes rapides explications de l’épisode 20 du podcast Les Cast Codeurs. Il détaille l’utilisation de 4 options de la ligne de commande pour Maven 2.1 et versions ultérieures. Vous pouvez très bien faire la même chose avec le plugin reactor et les versions 2.0.x de Maven mais il faudra taper sur plus de touches de votre clavier car la syntaxe est bien moins synthétique.
Continue reading Build partiel avec Maven : Construire moins pour aller plus vite.