Jenkins Repository-Speicherort

8

Das könnte eine komische Frage sein, aber das passiert mir. Kann mir jemand sagen, an welchem ​​Speicherort Jenkins sich befindet, wenn wir ein Maven-Projekt erstellen? Ich habe die Option Default (~/.m2/repository) gewählt, während ich Jenkins konfiguriere, aber es scheint, dass das Verhalten ein bisschen anders ist. Obwohl diese myown.jar in meinem lokalen Repository vorhanden ist, d. H. In /home/username/.m2 , wird der Fehler angezeigt, dass myown.jar nicht gefunden wurde. Also muss ich einen Job für dieses myown -Projekt erstellen, es erstellen und dann wird der Fehler gelöst.

Nicht nur das, als ich das Jenkins-Skript in Startup, d. h. /usr/bin/java -jar <warpath>.war , legte alle Abhängigkeiten von meinen Projekten wieder während des Erstellens, obwohl ich das konfigurierte Projekt 5 mal gebaut hatte, bevor das Skript in den Start !! Ist es nicht komisches Verhalten? Welchen Speicherort verwendet Jenkins? Oder gibt es etwas, was ich vermissen könnte?

    
Mital Pritmani 14.02.2014, 10:50
quelle

7 Antworten

7

Es kommt tatsächlich auf die Konfiguration jedes einzelnen Maven-Projekts an. Standardmäßig verwendet Jenkins das lokale Repository JENKINS_HOME_DIR/.m2/repository , wenn Sie den Maven installieren, indem Sie das Kontrollkästchen Automatisch installieren aktivieren, andernfalls wird Jenkins den lokalen /home/username/.m2/repository verwenden.

Sie können diesen Standardspeicherort jedoch ändern, indem Sie die Datei settings.xml in ~ / .m2 / settings.xml

einrichten

ODER

für die globale Verwendung können Sie es von jenkins_home_dir / conf

ändern

zum Beispiel, wenn Sie Maven per Häkchen installieren automatisch Kontrollkästchen

installieren

Step1. Wählen Sie die maven-Installation für ein bestimmtes Projekt im jenkins-Home-Verzeichnis

%Vor%

Step 2. Ändern Sie das localRepository in settings.xml

Die Hierarchie für settings.xml ist Benutzer .m2 Verzeichnis und wenn es das nicht finden konnte, wird es versuchen, das in {maven home}/conf/settings.xml zu finden.

    
Girish Kumar 22.01.2016 08:26
quelle
2

Wenn Windows als Windows-Dienst installiert und ausgeführt wird, kann dies standardmäßig wie folgt sein.

C:\Windows\SysWOW64\config\systemprofile\.m2\repository

C:\Windows\System32\config\systemprofile\.m2\repository

    
Sunvic 26.04.2017 10:55
quelle
1

Ich empfehle, Konfigurationsdatei-Provider-Plugin zu verwenden, um Maven-Einstellungen zu verwalten.

Das Plugin ermöglicht die Verwaltung von Konfigurationsdateien über die Jenkins-Benutzeroberfläche und die einfache Auswahl für jedes Maven-Projekt.

    
Mark O'Connor 15.02.2014 00:02
quelle
1

Es sollte alles verwenden, was Sie in /home/username/.m2/settings.xml konfiguriert haben - denken Sie daran, dass Benutzername derjenige sein wird, der den jenkins-Server effektiv ausführt. Wenn Ihre aktuelle Maven-Version jedoch einige settings.xml im Verzeichnis / conf hat, ist diese eine Priorität im Vergleich zu der in Ihrer / home

Sobald Sie diese settings.xml finden (oder erstellen), weisen Sie darauf hin, wo Sie Ihr lokales Repository haben müssen

    
Jorge_B 14.02.2014 11:04
quelle
1

Auf einem Unix-System verwenden Sie find tool,

%Vor%

Es ist unter /var/lib/jenkins auf Rhel, ( JENKINS_HOME_DIR soll /var/lib/jenkins sein)

%Vor%     
prayagupd 25.04.2017 08:15
quelle
0

Standardmäßig verwendet Jenkins das lokale Repository ~ / .m2 / repository unter dem Benutzerkonto, mit dem Jenkins ausgeführt wird.

Er kann so konfiguriert werden, dass er ein privates Repository für ein Build verwendet, aber es klingt so, als hätten Sie das nicht konfiguriert.

  

Wenn ich das Jenkins-Skript in Startup lege / usr / bin / java -jar .war, lud es alle Abhängigkeiten meiner Projekte erneut herunter, während ich es baute, obwohl ich das konfigurierte Projekt 5 mal gebaut hatte, bevor ich das Skript einfügte Start

Daraus ergibt sich, dass Ihr Startskript möglicherweise als anderer Benutzer ausgeführt wird? Vielleicht der root user?

Wenn Jenkins als root ausgeführt würde, würde es ein anderes lokales Repository verwenden, d. h. /root/.m2/repository . Sie könnten prüfen, ob dort ein Maven-Repository vorhanden ist, und wenn ja, stellen Sie sicher, dass Jenkins niemals als root ausgeführt wird.

    
Martin Ellis 14.02.2014 11:09
quelle
0

In Ubuntu habe ich den Speicherort des Repositorys unter /var/lib/jenkins/.m2 gefunden Und ich habe gerade dieses gelöscht und stattdessen einen Link zu meinem bestehenden Maven-Repository erstellt ...

    
Kamiel Ahmadpour 13.02.2018 16:17
quelle

Tags und Links