Ceci est un petit How-to sur la procédure de déploiement d'artefact Maven 2 sous OW2.

A priori, la procédure ne peut être qu'indirect, OW2 n'autorisant que les connexions scp.17:09 scp -r En gros, ca ne marche pas très bien, mais voici les différentes étapes.

#scp -r  user@shell.forge.objectweb.org:/var/lib/gforge/chroot/home/groups/interldap/htdocs/maven /tmp
#find /tmp/maven -type d -exec chmod 775 {} ;
#find /tmp/maven -type f -exec chmod 664 {} ;
#scp -r /tmp/maven sbahloul@shell.forge.objectweb.org:/var/lib/gforge/chroot/home/groups/interldap/htdocs

Ce qui marche : déploiement sur le serveur de démo de FederID, ip: 84.14.175.231

  • il faut absolument mettre dans son /etc/hosts : 84.14.175.231 federid
  • il faut absolument utiliser la méthode "scpexe" pour l'URL de déploiement :
<distributionManagement>
    <repository>
        <id>interldap-federid</id>
            <name>InterLDAP repository</name>
            <url>scpexe://federid:/var/www/maven</url>
    </repository>
    <snapshotRepository>
        <id>interldap-federid</id>
        <name>InterLDAP snapshot repository</name>
        <url>scpexe://federid:/var/www/maven</url>
        <uniqueVersion>true</uniqueVersion>
    </snapshotRepository>
</distributionManagement>
  • il faut configurer son fichier ~/.m2/settings.xml pour contenir :
<servers>
    <server>
        <id>interldap-federid</id>
        <username>username</username>
        <directoryPermissions>755</directoryPermissions>
        <filePermissions>644</filePermissions>
    </server>
</servers>

Où "username" est un utilisateur pouvant se connecter sur le serveur SSH par clé, et qui peut écrire dans /var/www/maven.

  • la commande pour effectuer le deploy est :
# mvn -DperformRelease=true clean deploy
(on peut éventuellement rajouter " -Dmaven.test.skip=true " pour sauter les tests ou " DperformRelease=true " à la place du source:jar pour ajouter les sources et la JavaDoc dans le déploiement).
  • une fois le déploiement effectué, le repository à ajouter pour utiliser les jar est :
<repositories>
    <repository>
        <id>interldap-site</id>
        <url>http://federid/maven</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>		
    </repository>
</repositories>