But
Installer un miroir Maven sur un Nas Synology, pour accéder plus rapidement aux différents paquets, travailler en intranet,…etc.
Pré-requis
Java, pour l’installer vous pouvez suivre l’article Installer un miroir Maven sur un Nas Synology
Outils
Comme pour le serveur d’application web Java, Il nous faut un serveur Maven léger. On peut exclure nexus et assimilé, trop complexe et trop gourmand pour nos besoins et surtout nos ressources.
Notre choix se porte sur maven-proxy de codehaus, simple mais efficace, disponible sur http://maven-proxy.codehaus.org/Downloads
Etapes
Passons dans le chroot
Nas>./initDebChroot.sh
L’installation est simple, on peut par exemple décompresser l’archive dans /opt:
Nas> mkdir /opt/mvnrepo Nas> cd /opt/mvnrepo Nas> wget http://dist.codehaus.org/maven-proxy/distributions/maven-proxy-standalone-0.2.zip Nas> unzip maven-proxy-standalone-0.2.zip
Concernant la configuration, en voici une préconfigurer pour les dépôts de springsource. Ajouter, en priorisant, vos repositories dans la deuxième partie du fichier. N’oubliez pas de rajouter leur token dans la liste de la variable repo.list.
Un script pour simplifier le démarrage runMvnProxy.sh:
java -jar /opt/mvnrepo/maven-proxy-standalone-0.2-app.jar /opt/mvnrepo/MavenProxy.properties
Exécutez-le et testez votre installation http://Nas:9999/
Utiliser ce miroir
sur vos postes de travail, vous devez modifier le fichier settings.xml de maven comme ceci:
<settings> . . <mirrors> <mirror> <id>MavenMirror</id> <name>Home Maven Mirror</name> <url>http://NAS:9999/repository/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> . . </settings>
Pour plus de détails sur cette configuration http://maven.apache.org/guides/mini/guide-proxies.html
Lancer le serveur au démarrage du NAS
Après avoir automatisé l’initialisation du chroot debian,
Un script pour automatiser le démarrage de ce miroir maven, nous le nommerons S93MavenProxy.sh :
#!/bin/sh # SynoStop=/usr/bin/killall case $1 in start) echo "Launch Maven Proxy ..." chroot /opt/debian/chrootgnuspe /opt/mvnrepo/runMvnProxy.sh & ;; stop) #$SynoStop tracd > /dev/null 2>&1 ;; #restart) # $0 stop # $0 start # ;; *) echo "Usages: $0 [start|stop|restart]" ;; esac
ajouter le script au répertoire rc.d:
NAS> ln -s yourVolume1Rc.dScript/S93MavenProxy.sh /usr/syno/etc.defaults/rc.d/
TODO:
supporter le stop et restart du script de service.