Maven nicht finden können pom.xml in Jenkins workspace
Ich habe ein problem mit Jenkins.
In der job-Konfiguration, definierte ich das svn-repository als
svn://localhost/home/svn-repository/testRepo/branches/develop/
und alles funktioniert einwandfrei. Jenkins checkt das repository in den eigenen Arbeitsbereich, die wie folgt aussieht:
workspace
|-- pom.xml
|-- src
|-- ...
und die maven-goals erfolgreich ausgeführt.
Aber wenn ich das root-Verzeichnis des repository (weil ich möchte, dass Jenkins zu überprüfen, die neueste Version des Projekts nicht von einem speziellen Zweig), maven nicht finden pom.xml.
svn://localhost/home/svn-repository/testRepo/
Den Jenkins workspace ist in diesem Fall:
workspace
|-- branches
|-- develop
|-- pom.xml
|-- src
|-- ...
- Die Struktur im SVN ist falsch.
project/trunk
,project/tags
,project/branches
sollte die Struktur. und für die Standard -trunk
sollten Sie der Kasse den Kofferraum, was bedeutetproject/trunk
in Ihrem Arbeitsbereich. - versuchen Sie, fügen Sie einen shell-Befehl in jenkins job
pwd
zu sehen, aus welchem Verzeichnis es ist zu versuchen, um den job auszuführen und legen Sie die pom.xml Pfad relativ - Die Fehlermeldung von der Arbeit, sagt "Ziel erfordert ein Projekt zu führen, aber es gibt keine POM in dieses Verzeichnis (/var/lib/jenkins/jobs/TestJob/workspace).". Also Maven offensichtlich versucht zu Lesen pom.xml aus diesem Verzeichnis.
- Gibt es eine Möglichkeit zu sagen, Maven, um die Suche auch in den Unterverzeichnissen des Arbeitsbereichs?
- Ja - hier geben Sie die maven-Ziele, die man betreten kann
-f branches/develop/pom.xml
zu sagen, maven, was POM verwenden. Aber wirklich, @khmarbraise beraten, ist die beste, die Sie verwenden sollten einproject/trunk
dir für die neueste Version von dir, und schauen Sie einfach, dass. Wenn Sie möchten, manchmal bauen von Rumpf und manchmal von einem Zweig, dann könnten Sie parametrieren den jenkins-job und mit dem wiki.jenkins-ci.org/display/JENKINS/Subversion+ - Plugin können Sie eine "Liste subverion tags" - parameter, die Ihnen erlauben, zu wählen, von trunk oder einem der branches oder tags.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Bauen Abschnitt haben Sie ein Eingabefeld Root-POM, wo Sie hinzufügen können, die (relative) Pfad zu Ihrem pom-Datei, zum Beispiel
testRepo/trunk/pom.xml
.Nicht sicher, warum Sie nicht beschränken Sie Ihre Kasse, um den spezifischen Pfad, den Sie erstellen möchten hart. Im Gegensatz zu Git (wo hätten Sie ein anderes Projekt-Struktur) ist dies trivial mit SVN.