Wiki

Clone wiki

deployment / maven / OrganisationDuProjet

Organisation des projets

Chaque projet porte les éléments nécessaires à un déploiement complet:

Identification du serveur cible

Le fichier POM du projet déclare un héritage à un projet père spécifique par plateforme.

    <parent>
        <groupId>fr.middlewaresolutions.exploitation</groupId>
        <artifactId>jbosseap-6</artifactId>
        <version>1.1</version>
    </parent>

Dans ce même fichier, la dépendance au zip du père permet de récupérer son template lors de la construction.

    <!-- dependance avec le zip du parent jbosseap-6  -->
    <dependency>
        <groupId>${project.parent.groupId}</groupId>
        <artifactId>${project.parent.artifactId}</artifactId>
        <version>${project.parent.version}</version>
        <type>zip</type>
        <classifier>run</classifier>
        <scope>runtime</scope>
    </dependency>

Applications à embarquer

Un mécanisme d' assembly maven est utilisé pour construire le serveur à déployer. Le processus de construction est le suivant:

  1. Téléchargement du serveur Jboss du parent. Il sert de modèle.
  2. Filtrage des fichiers locaux. Tous viennent ecraser ceux présents dans le modèle.
  3. Récupération des war à embarquer. Ces applications sont déployées dans /standalone/deployment du serveur.
  4. Archivage du tout dans un zip.

Le fichier assembly est dans /src/assembly/ Pour ajouter des applications, il faut ajouter de nouveaux include. Exemple:

    <dependencySet>
      <outputDirectory>standalone/deployments</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <includes>
        <!-- insert all war to deploy into Jboss -->
        <include>org.jboss.examples:ticket-monster</include>
      </includes>
    </dependencySet>

Les applications en include sont déclarées dans les dépendances du pom.xml du projet.

Updated