Infrastructure technique du projet CiviKey

Invenietis a mis en place, pour le projet open source CiviKey, une infrastructure complète de gestion de projet technique. Cette infrastructure va continuer d’évoluer dans le temps, mais la base décrite dans ce poste est en place. Un autre post sera dédié à la gestion du repository SVN (dépôt SVN en français) et du serveur d’intégration. Nous avons choisi de mettre en place un certain nombre de services que l’on retrouve dans un grand nombre de projets. Ces services ont été mis en place à l’aide d’autre projet Open Source et à des modules spécifiquement développés pour la problématique de CiviKey.

Gestion du projet

La gestion projet a été déléguée à un outil fonctionnant en Ruby, Redmine (http://www.redmine.org). Il est utilisé par Invenietis en interne pour la gestion de projet ainsi que pour le dialogue avec nos clients. Cet outil permet de gérer l’ensemble des tâches lié à un ou plusieurs projets en proposant une interface web simple et un environnement unique. (Pour ceux qui connaissent, c'est un Track simple, fonctionnel, et multi projet.)

Ce service est accessible via l’URL : http://civikey.invenietis.com/

Repository SVN

La gestion des sources a été déléguée à un serveur SVN sous Windows à l’aide de VisualSvn Server (http://www.visualsvn.com/server/). Ce serveur donne accès à l’ensemble des sources du projet CiviKey.

Compte tenu du refactoring (assez violent) en cours, les dépôts de la version 2.0 et 2.5 n’ont pas la même structure.

Version CiviKey 2.0 :

         Core : https://svn.invenietis.com/svn/CK/branches/Core-Summer09

         Contrib : https://svn.invenietis.com/svn/CK/trunk/Contrib

Version CiviKey 2.5 :

         CK.Core : https://svn.invenietis.com/svn/CK/Core/trunk

         CK.Certified : https://svn.invenietis.com/svn/CK/Certified/trunk

Un premier autre post sera dédié a la gestion du repository par rapport à la gestion des releases et des tags de version.

Service d’intégration continue

Pour garantir la qualité des éléments développée dans ce projet, nous avons mis en place un service d’intégration continue qui permet de faire un ensemble d’opérations à chaque commit de développeur. Ce service a été mis en place grâce à Cruise Control .NET (http://ccnet.thoughtworks.com/). Il permet entre autres de compiler en environnement contrôlé, de faire passer des tests unitaires plus spécialisés que sur les postes de développement ou encore de gérer les releases des projets.

Ce service est accessible via l’URL : http://ci.civikey.invenietis.com/

Cruise Control  génère aussi la documentation type MSDN pour chaque release taguée du projet. Elles sont disponibles ici : http://help.civikey.invenietis.com/.

Un deuxième autre post sera dédié à la gestion de Cruise Control par rapport à la gestion des releases.

 

Ajouter un commentaire

  Country flag

biuquote
  • Commentaire
  • Prévisualiser
Loading