2017-10-17 53 views
2

J'ai un projet Java. Il a un pom.xml mis en place et j'utilise mvn deploy pour déployer de nouveaux artefacts à une société interne Nexus. Et tout fonctionne bien.Obtenir l'URL de déploiement maven pendant/après le déploiement

Mais ... Je travaille sur l'intégration de cette application dans un système CI/CD. Donc, fondamentalement, ce dont j'ai besoin est de savoir par programme/automatiquement où cet artefact a été déployé (l'URL Nexus exacte de l'artefact) afin que je puisse l'inclure comme entrée pour la prochaine étape du système CI/CD. Je sais que cela n'est généralement pas nécessaire lorsque vous travaillez avec Maven.

Mais que puis-je dire, j'ai besoin de cette URL pour apparaître sur une page web qui montre cet artefact, avec d'autres informations, comme les tests qui ont été exécutés, qui l'a créé, quand, en plus de commettre de Quel référentiel il a été construit etc ...

Alors ... Y a-t-il un moyen propre et agréable pour moi d'obtenir cette information, en dehors de la façon hackish d'analyser manuellement le fichier pom.xml pour essayer de recréer l'URL . Quelque chose comme mvn give-me-the-url-to-which-you-would-deploy-if-i-were-to-run-deploy. :)

Répondre

2

Un moyen direct, mais un peu hacky serait de lire le fichier journal Maven. Il contient des lignes comme

Uploaded: http://ik-re1.continentale.loc:8082/nexus/content/repositories/snapshots/de/continentale/spu/rrep-pjava-index/2.3.4-SNAPSHOT/rrp-pjav-index-2.3.4-20170901.115031-18-sources.jar (202 KB at 2459.3 KB/sec) 

Ces lignes vous indiquent les URL exactes, mais vous devez analyser un fichier texte.

+1

Oui, je l'ai fait à la fin comme ça, en utilisant tee pour rediriger la sortie de Maven vers un fichier journal. Mais c'est toujours une solution hackish. Mais comme il ne semble pas y avoir de meilleure solution, il faudra le faire. Merci. – morgoth84