LaForgePLP

Un article de Agora2ia.

Voir LaForge pour la présentation...


Sommaire

Arborescences

Pour un projet donné, on respectera les préconisations de Maven2, à savoir :

<PROJET>
  +- src
  |  +- main
  |  |  +- java
  |  |  +- resources
  |  +- test
  |  |  +- java
  |  |  +- resources
  |  +- site
  |     +- xdoc
  +- target
  +- project.xml
  +- README.txt
  +- LICENSE.txt


Pour le projet principal/racine l'arborescence des répertoires pourrait donner (apparaissent en gras les éléments relatifs à Maven) :

<MAIN-PROJET>
  +- applications
  |  +- webapp
  |  +- web-service
  |  +- ejb
  |  +- common
  |  +- agents
  +- src
  |  +- database
  |  +- site
  |     +- xdocs
  + release-test
  + pom.xml
  + project.xml


Mais on peut aussi éssayer de normaliser les URL :

<http://www.mydomain.org>/repository/maven
<http://www.mydomain.org>/repository/svn
<http://www.mydomain.org>/repository/release

Respectivement pour le repository Maven, Subversion et celui des livraisons.

Configuration

Kerio Personal Firewall (le Firewall)

Fichiers modifiés

FileZilla (le serveur FTP)

  • Créer un compte "maven" en double accès :
    • lecture pour mettre à jour le repository local,
    • et écriture pour y déployer les artefact générés.
  • De plus, autoriser le mode Z pour pouvoir manipuler les artefacts compréssés (.jar, .war et autres .ear) sans les corrompres.

Fichiers modifiés

Apache 2 (le serveur HTTP)

Fichiers modifiés

JBoss (le serveur J2EE)

Fichiers modifiés

Tomcat (le serveur Web)

Fichiers modifiés

Maven (la construction)

Mise en place des repository

Dans le fichier project.properties, indiquer le répertoire où sont les librairies de travail (la version locale) :

# Fichier : project.properties
maven.home.local = c:/dev/Maven/local


Indiquer où trouver les librairies manquantes au moment de la construction :

  • Soit en local :
# Fichier : project.properties
maven.repo.remote = file:z:/maven/repository
  • Soit distant :
# Fichier : project.properties
maven.repo.remote = http://monsite.org/maven-repository/

Une façon de rendre fonctionnelle cette ligne est de créer un alias sur votre serveur HTTP (Apache2 pour moi) qui redirige vers le répertoire contenant effectivement les librairies. Cela donne dans le fichier httpd.conf de Apache :

# Fichier : httpd.conf
Alias /maven-repository "z:/maven/repository"
<Directory "c:/maven/repository">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


Indiquer le repository distant où déployer vos artifact :

# Fichier : project.properties
maven.repo.list=myrepo
maven.repo.myrepo=ftp://monsite.org
maven.repo.myrepo.directory=.
maven.repo.myrepo.username=mavenLogin
maven.repo.myrepo.password=mavenPassword

Pour rendre cela fonctionnel, il faut :

  • Installer un serveur FTP,
  • Créer un compte mavenLogin avec mavenPassword comme mot de passe,
  • Lui donner accès au répertoire z:/maven/repository
  • Avec des droits en écriture !

Fichiers modifiés

Cruise Control (l'intégration continue)

Fichiers modifiés

Subversion (la gestion de version)

  • Voir aussi la page Subversion
  • Le browser de repository comme ViewCVS
  • Le plugin Eclipse

Fichiers modifiés

MySql (la base de données)

  • Voir aussi la page MySql
  • Le plugin Eclipse ?

Fichiers modifiés

Eclipse (l'éditeur de développement intégré)

Les plugins :


Paramètres modifiés

  • Ajouter la variable MAVEN_HOME en la faisant pointer vers %MAVEN_HOME%/repository (Window > Preferences > Java > Build Path > Classpath Variables> New...).


MediaWiki (le wiki)

Fichiers modifiés

  • Ajouter la possibilité d'uploader les fichiers SVG et OpenOffice : compléter le fichier mediawiki/includes/DefaultSettings.php avec la ligne suivante $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'ogg', 'svg', 'sxi' );


Liferay (le gestionnaire de contenu)

Fichiers modifiés

TODO

Déscription Etat
http://www.mozilla.org/projects/svg/ TODO
Faire une page avec les facilitators : TortoiseSVN... TODO
Installer CruiseControl TODO
Installer ViewCVS TODO
Créer le référentiel Subversion. 24/07/2005
Indiquer les informations de connexion Subversion dans le project.xml 24/07/2005
Faire le schéma de l'architecture logicielle de la Forge. 24/07/2005