Depuis la version 1.259 de Hudson, il est possible de pré packager les plugins de Hudson dans l'archive Web (hudson.war).
Il suffit d'inclure les plugins (*.hpi) dans le répertoire « WEB-INF/plugins » de l'archive. Au lancement les plugins packagés seront déployés dans l'espace de travail de Hudson $HUDSON_HIOME/plugins.
L'exemple suivant montre la récupération d'une archive Hudson et d'un ensemble de plugins, puis son re-packaging avec Maven
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelversion>4.0.0</modelversion>
<groupid>org.jvnet.hudson.plugins</groupid>
<artifactid>hudson-war</artifactid>
<packaging>war</packaging>
<version>1.266</version>
<name>hudson-war</name>
<properties>
<hudson.version>${project.version}</hudson.version>
<hudson.unpack>${project.build.directory}/hudson-unpack</hudson.unpack>
</properties>
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-dependency-plugin</artifactid>
<executions>
<execution>
<id>unpack-origin-archive</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactitems>
<artifactitem>
<groupid>org.jvnet.hudson.main</groupid>
<artifactid>hudson-war</artifactid>
<version>${hudson.version}</version>
<type>war</type>
<overwrite>true</overwrite>
<outputdirectory>${hudson.unpack}</outputdirectory>
</artifactitem>
</artifactitems>
</configuration>
</execution>
<execution>
<id>copy-plugins</id>
<phase>initialize</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactitems>
<artifactitem>
<groupid>org.jvnet.hudson.plugins</groupid>
<artifactid>clearcase</artifactid>
<version>0.8.1</version>
<type>hpi</type>
<outputdirectory>${hudson.unpack}/WEB-INF/plugins</outputdirectory>
</artifactitem>
<artifactitem>
<groupid>org.jvnet.hudson.plugins</groupid>
<artifactid>doxygen</artifactid>
<version>0.1</version>
<type>hpi</type>
<outputdirectory>${hudson.unpack}/WEB-INF/plugins</outputdirectory>
</artifactitem>
<artifactitem>
<groupid>org.jvnet.hudson.plugins</groupid>
<artifactid>zentimestamp</artifactid>
<version>1.0</version>
<type>hpi</type>
<outputdirectory>${hudson.unpack}/WEB-INF/plugins</outputdirectory>
</artifactitem>
</artifactitems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-war-plugin</artifactid>
<version>2.1-alpha-2</version>
<configuration>
<classifier>withplugins</classifier>
<webresources>
<resource>
<directory>${hudson.unpack}</directory>
<excludes>
<exclude>META-INF/HUDSON.SF</exclude>
<exclude>META-INF/HUDSON.RSA</exclude>
</excludes>
</resource>
</webresources>
<archive>
<manifestfile>${hudson.unpack}/META-INF/MANIFEST.MF</manifestfile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
Il vous suffira ensuite de lancer la commande mvn clean package pour obtenir la nouvelle archive Hudson hudson-war-1.266-withplugins.war avec les plugins inclus.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire