2017-02-10 1 views
1

Je construis un pipeline concourse pour une construction de projet Java/Maven. J'ai réussi à le configurer pour que la compilation maven démarre. Malheureusement, mes propres dépendances Maven internes ne sont pas résolues car il n'y a pas de fichier settings.xml avec les coordonnées de notre référentiel binaire Artifactory local.Custom settings.xml dans une construction Maven sur concourse.ci

J'ai vu ce sample project, qui semble utiliser settings.xml personnalisé, mais en quelque sorte ce paramètre est mis en commentaire. Puis-je faire référence à un fichier settings.xml personnalisé qui est localisé ou transmis dans la compilation Java/Maven depuis l'extérieur? Quelles options ai-je?

Voici une liste d'options qui sont venues à l'esprit à ce jour, mais tous les sont suboptimale:

  • Mettez informations référentiel Artifactory dans le pom.xml du projet (non portable, à mon avis)
  • Créer une image Docker personnalisée avec 1 fichier settings.xml supplémentaire et l'utiliser pour la construction (beaucoup d'efforts et la nécessité de configurer un repo docker privé juste pour paramétrer 1 paramètre?)
  • D'une certaine manière, montez le parent/hôte système de fichiers dans le conteneur qui est utilisé pour la construction (openjdk: 8-jdk dans mon cas) et se référer au settings.xml situé dans ce comme indiqué dans l'exemple de projet exemple (comment puis-je faire cela du hall?)

Répondre

0

Je pense que j'ai trouvé un bon moyen d'atteindre mon objectif.

Le fichier settings.xml peut être enregistré dans le système de contrôle de source et référencé comme ressource. Il devient ainsi accessible au moment de la construction dans le système de fichiers du conteneur (puisqu'il s'agit de l'une des entrées de la tâche).

+1

C'est probablement le moyen le plus efficace de le faire, il suit également le paradigme de versionnement de concours, de sorte que le fichier sera mis en cache sur votre travailleur jusqu'à ce que vous le changiez. –