Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
MavenVerbindung Java Projekt und Jenkins Build job
Im Source-Code Management gibst du einfach den link zum repository an und den brach welchen er nehmen soll. Und unter Build must du dann noch die pom angeben. Das war es eigentlich schon
Ich habe da leider noch sehr sehr wenig Erfahrung.
Welches repository ist gemeinet? ("Im Source-Code Management gibst du einfach den link zum repository an"?)
Ist damit git gemeint?
Ich weiss auch nicht bei welcher Option ich das pom.xml eintragen muss.
Tut mir leid wegen der blöden Fragen, bin erst seit gestern dabei Jenkins auszuprobieren.
Also klar ist git gemeint. Ich hoffe doch mal du nutzt git oder? Ansonsten geht noch subversion relativ einfach. Alle anderen VCS sind nicht so einfach zu implementieren. Irgendwo liegt ja dein Repository file. Also entweder lokal oder auf GitHub o.ä, Bei Repository gibst du dann eben den Ordner oder die URL an.
Ach lese ich jetzt erst. Warum willst du Freestyle project nehmen wenn du ein Maven Projekt hast? Meine Angaben bezogen sich natürlich auf ein Maven Project
Du musst im Jenkins das Maven Integration Plugin und das git-Plugin installiert haben – in einer Standardinstallation sollte das aber der Fall sein.
Dann muss dein Projekt irgendwo liegen, wo es vom Jenkins aus erreichbar ist, am einfachsten ist's, ein öffentliches Projekt bei zB GitHub zu nutzen.
(Ob das auch mit einem rein lokalen git-Repo geht, hängt von der jeweiligen Jenkins-Installation ab. Mit ein paar mehr Informationen kann man da besser helfen )
Beim Konfigurieren eines Freestyle-Jobs gibt es dann die Section "Source-Code-Management", dort musst du git auswählen, und unter "Repository-URL" die URL des git-Repos eintragen (bei GitHub zb über den Download-Button kopierbar.)
Credentials kannst du bei einem öffentlichen Repo leer lassen, der Rest kann auch so bleiben
Außerdem findest du dort die Section "Buildverfahren", dort Maven auswählen:
danke für die Antworten, musste mal unterbrechen, sonst macht mein Hausdrachen Stress ...
Den Eingabeort für das pom.xml habe ich gefunden.
Probleme habe ich bei "Post Build Action -> Veröffentliche JUnit Testergebnisse ->Testberichte im xml-Format"
Der Eintrag "**/target/test-reports/*.xml" wird nicht akzeptiert.
Der Pfad in Eclipse zu meinem target-Folder lautet
C:\Users\E7470\Documents\Eclipse_Workspaces\MyWorkspace\MyProject\target
Im target-Folder liegen dort folgende Unterverzeichnisse:
classes
generated-sources
generated-test-sources
maven-status
surefire-reports
test-classes
Im Ordner surfire reports liegen die xml-Dateien für die Testergebnisse.
Bezieht sich die Eingabe bei Post Build Action auf den o.g Pfad target in eclipse?
Mein Ziel ist es zunächst einmal das Prinzip der Eingaben bei -Jenkins zu verstehen...
Gruss Hein_nieH
Probleme habe ich bei "Post Build Action -> Veröffentliche JUnit Testergebnisse ->Testberichte im xml-Format"
Der Eintrag "**/target/test-reports/*.xml" wird nicht akzeptiert.
Beim Anlegen des Jobs ist eine Warnung dort normal, da dieses Verzeichnis erst beim Bauen erstellt wird – es ist also noch nicht vorhanden, also wird es angemeckert.
Alle Angeben im Jenkins sind jeweils relativ zum Repository-Root.
Jenkins macht grob nichts anderes, als das Repository klonen, in das geklonte Verzeichnis wechseln, und dort Maven mit den angegebenen Goals aufzurufen.
In deinem Eclipse-Projekt dürfte das Repository-Root dieses Vorzeichen sein: "C:\Users\E7470\Documents\Eclipse_Workspaces\MyWorkspace\MyProject".
In Jenkins ist das ein anderes, da neu geklont wird, die Verzeichnisstruktur und Inhalt sieht aber vergleichbar aus (je nachdem was eingecheckt ist).
Hallo,
beim Anlegen eines neuen Jobs in Jenkins habe ich folgende Auswahlmöglichkeiten:
- Freestyle Project
- Pipeline
- Multikonfigurationsprojekt bauen
- Folder
- Git Hub Organization und
- Multibranche Pipeline
Wenn ich ein Maven Projekt integrieren möchte was wäre dann hier die richtige Auswahl?
Gruss Hein_nieH
Grundsätzlich alles bis auf Folder, das kommt ganz drauf an, was du machen möchtest. Für den Anfang wird Freestyle Project das passende für dich sein.
Freestyle Project: ein einfacher Job
Pipeline: Ein Pipeline-Projekt (die "moderne" Version eines Freestyle Projects
Multikonfigurationsprojekt bauen: quasi ein Freestyle Project, welches dann mit verschiedenen Konfigurationen gebaut werden kann (zB verschiedenen Betriebsysteme und Java-Versionen)
Folder: Erstellt einen Ordner, in dem man dann Jobs angelegen kann
Git Hub Organization: Erstellt Jobs automatisch für Alle Repos einer Git Hub Organization
Multibranche Pipeline: erstellt Pipeline Jobs für alle Branches eines Repos
A cross-platform, linkable library implementation of Git that you can use in your application. - libgit2/libgit2
github.com
Dann konnte ich einen ersten Lauf starten.
Meine JUnitTest wurden nicht bestanden. Das tut hier aber momentan nicht zur Sache, da ich im Projekt den Quellcode verändert habe und die
Tests nachziehen muss.
Auch wenn die Tests fehlgeschlagen sind, kann ich mir die Testabdeckung mit Cobetura nun anzeigen lassen.
In meiner pom.xml ist hierzu alles vorbereitet.
In Jekins erscheint jedoch der Button zum Anzeigen der Testabdeckung nicht?
Das ist doch einfach nur irgendein völlig zufälliges Repository, welches nicht mal ein Java-Projekt ist?
Du hast damit dann jetzt im Jenkins das libgit2-Projekt gebaut, aber nicht dein Projekt.
Kannst du mal einen Screenshot der Job-Configuration machen? Ist ohne Bilder sonst schwierig, dabei zu helfen.
Und zusätzlich mal die Log-Ausgabe des Jobs zeigen?
BTW: Hast du irgendein Buch oder so, dem du sehr strikt folgen kannst?
Ohne eine wirklich haarkleine Anleitung oder entsprechende Grundwissen ist das nicht wirklich zu schaffen, und wenn du grad erst mit Maven und git anfängst, kann das Grundwissen ja noch nicht da sein.
leider habe ich kein Buch. Ich gebe dir Recht das es ohne Grundwissen schwierig ist, aber das ist ja mein Ziel zumindestens die Grundlagen zu verstehen.
So wie es aussieht gibt es auch kein deutschsprachiges Buch in dem Jenkins gut erklärt ist oder irre ich da.
Sonst hätte ich mir schon ein Buch gekauft.
Ich habe mal quick and dirty die Einstellungen der JobKonfiguration zusammengefasst.
Für heute muss ich leider die Zauberkiste ausschalten ... morgen geht es weiter.
An dieser Stelle schon einmal einen Dank für die Bemühungen ...
leider habe ich kein Buch. Ich gebe dir Recht das es ohne Grundwissen schwierig ist, aber das ist ja mein Ziel zumindestens die Grundlagen zu verstehen.
Das Problem dabei ist, dass man für Jenkins schon Vorwissen zu Maven und git braucht, was du dir, wenn ich deine letzten Threads hier richtig verfolgt habe, auch fehlt
So wie es aussieht gibt es auch kein deutschsprachiges Buch in dem Jenkins gut erklärt ist oder irre ich da.
Sonst hätte ich mir schon ein Buch gekauft.
Ich kenn zumindest keins, ich kenn allerdings auch kein Englischsprachiges und bin da vermutlich generell die falsche Ansprechperson...
Ganz grundsätzliche Fragen vorweg:
Wie hast du Jenkins installiert?
Liegt dein Projekt nur lokal bei dir oder ist es auch in irgendeinem Remote-Repository eingecheckt und öffentlich verfügbar?
ich habe Jenkins lokal installiert.
Mein Ziel ist es mich durch die Materie durchzuarbeiten, damit ich es dann mal irgendwann verstehe
Bei Maven läuft es jetzt schon besser. Da habe ich einige Beispiele probiert. Ebenfalls habe ich hierzu auch schon Literatur durchgearbeitet.
Gruss Hein_nieH
Dann muss dein Projekt irgendwo liegen, wo es vom Jenkins aus erreichbar ist, am einfachsten ist's, ein öffentliches Projekt bei zB GitHub zu nutzen.
(Ob das auch mit einem rein lokalen git-Repo geht, hängt von der jeweiligen Jenkins-Installation ab. Mit ein paar mehr Informationen kann man da besser helfen )
Man kann bei dem URL Feld auch einfach einen Pfad zu einem lokalen Verzeichnis angeben. Das halte in in seinem Fall für deutlich einfacher als auch noch GitHub mit ins Spiel zu bringen
Ins blaue geraten: als git-Repo kannst du dann mal "C:\Users\E7470\Documents\Eclipse_Workspaces\MyWorkspace\MyProject" eintragen.
Zusätzlich musst du weiter unten bei der Maven-Configuration das pom.xml-Feld leer lassen (oder nur "pom.xml" eintragen), die volle Angabe das Pfades ist da falsch.
Man kann bei dem URL Feld auch einfach einen Pfad zu einem lokalen Verzeichnis angeben. Das halte in in seinem Fall für deutlich einfacher als auch noch GitHub mit ins Spiel zu bringen
nach einer längeren Pause habe ich wieder Zeit mich mit den ersten Schritten in Jenkins zu befassen.
Ich habe mir ein Git-Repository angelegt und mit Jenkins versuchsweise ein einfaches "Hello World" Projekt gebaut.
Das funktioniert jetzt auch.
Probleme habe ich jetzt an zwei Stellen.
1. Auffinder der config.xml
Jenkins habe ich in Windows mit einem Setup installiert.
Eine JENKINS_Home-Variable habe ich eingerichtet (die verweist auf das Installationsverzeichnis von Jenkins).
Nur wenn ich mir die Systeminfo von Jenkins ansehe (http://localhost:8080/systemInfo) erhalte ich
Ich finde aber nicht das Unterverzeichnis "Jenkins".
Mein Ziel ist es an die config.xml von Jenkins heranzukommen,
Die befindet sich nämlich nicht im Installationsverzeichnis von Jenkins.
Was muss ich da im Explorer einstellen? Ich habe auf dem Rechner admin-Rechte.
Den Button zum Einstellen von Buildpath und der JENKIN_HOME Variable gibt es bei mir nicht.
(Dazu haben in diversen Foren auch schon andere User nachgefragt).
2. Einfügen der pom.xml
Wo genau muss ich in jenkins die pom.xml für mein kleines "HelloWorld" Projekt einfügen?
Ich dachte, dass Jenkins sich die pom.xml aus dem Repository automatisch lädt. Liege ich da richtig?
Das mit dem einbinden der pom.xml habe ich jetzt auch hinbekommen.
Jetzt ist für mich nur noch offen, wie ich den coverage report in jenkins anzeigen kann.
Was muss ich da möglicherweise in Jenkins installieren?
Das mit dem einbinden der pom.xml habe ich jetzt auch hinbekommen.
Jetzt ist für mich nur noch offen, wie ich den coverage report in jenkins anzeigen kann.
Was muss ich da möglicherweise in Jenkins installieren?
Du musst 1) den Coverage report generieren lassen und 2) den im Jenkins anzeigen lassen.
1 löst du mit Maven und einem Plugin (zB Jacoco), 2 passiert dann im Jenkins, dort musst du für das jeweilige Report-Format das Plugin installieren und im Job konfigurieren, dass dieser ausgwertet/angezeigt werden soll.