2012-08-07 5 views
11

Je suis à la recherche d'un pipeline Jenkins. La première étape est terminée, le code compile, est testé, inspecté et déployé sur Nexus.Jenkins: comment extraire des artefacts de Nexus et déployer sur Tomcat-

Je voudrais maintenant faire une deuxième étape sur le pipeline où la guerre est extraite de Nexus et déployée sur tomcat.

En fait, j'ai déjà intégré le plugin maven-tomcat pour le déployer sur Tomcat. Ma question est comment puis-je vérifier la dernière version de la guerre?

Existe-t-il un plugin maven ou jenkins pour cela?

Un grand merci,

Patrick

Répondre

0

Je vous suggère de créer une nouvelle pom pour cela. De cette façon, vous n'êtes pas lié à Jenkins. Vous n'avez pas besoin de vérifier explicitement l'artefact de nexus (notez que cela s'appelle le téléchargement du référentiel dans le discours maven). Vous pouvez spécifier un emplacement de fichier de guerre différent dans le plugin tomcat maven. Voir le documentation. Pour télécharger la dernière version du référentiel voir le answers to this question.

15

Votre gestionnaire de référentiel binaire (Nexus) devrait occuper idéalement la position suivante en vous l'architecture globale:

enter image description here

Vous pouvez utiliser Jenkins comme outil d'approvisionnement , mais idéalement, il devrait lancer une sorte de processus qui tire l'artefact à être déployé directement à partir de Nexus (si rien d'autre c'est plus efficace).

C'est beaucoup plus facile que ça en al'air. Par exemple, l'API REST Nexus peut être appelée à partir d'un script shell pour télécharger toute révision souhaitée d'un artefact. Par exemple:

$CATALINA_HOME/bin/shutdown.sh 
curl -o $CATALINA_HOME/webapps/myfile.war http://myrepo.com/service/local/artifact/maven/redirect?r=releases&g=com.myorg&a=myfile&v=1.1.1&e=war 
$CATALINA_HOME/bin/startup.sh 

Enfin, vous voudrez peut-être envisager un système dédié pour gérer vos déploiements? Une solution intéressante avec laquelle j'ai joué est rundeck, qui a un plugin pour Jenkins. J'aime beaucoup Rundeck, en raison de sa simplicité, un trait qu'il partage avec Jenkins. Il existe également un plugin pour Nexus qui permet à Rundeck de fournir une liste déroulante des artfacts éligibles au déploiement.

Questions connexes