Ich baue eine Multiplattform javafx-Anwendung. Der letzte Prozess besteht darin, ein Installationsprogramm (exe, dmg, deb .. mit jre gebündelt) zu erstellen und es in ein spezielles "Produktfreigabe" -Repo hochzuladen. Angesichts der Tatsache, wie javafx build durchgeführt werden muss, wird auf drei verschiedenen Plattformen ein jenkins-Matrix-Job ausgeführt. Der letzte Schritt ist die Bereitstellung. Ich füge das Installationsprogramm mit dem Build-Helfer-Maven-Plugin an.Maven Bereitstellung ohne Hochladen von Pom-Datei
Ich bin in der Lage, das Installationsprogramm für eine Plattform korrekt zu laden, aber weil die Bereitstellung scheint die Pom-Datei hochladen, kann nicht erneut von einem anderen Jenkins-Slave hochgeladen werden.
Zuerst hatte ich Probleme mit dem Hochladen des "main jar", aber ich schaffte es das zu deaktivieren, indem ich das jar plugin mit 'none' Phase verband (ich benutze das maven-javafx-plugin, das ein eigenes Hauptkrug erstellt). Ich kann die Pom-Generierung und das Hochladen jedoch nicht deaktivieren. Ich habe
<generatePom>false</generatePom>
für das Maven-deploy-Plugin gesetzt, aber es scheint keine Wirkung (ich nehme an, es für das Haupt Glas arbeitet, die ich bereits deaktiviert haben).
Ist es möglich, die Pom-Generierung/den Upload vollständig zu deaktivieren (ähnlich der Option "uploadDescriptor false" von "grddle") und nur "angefügte Artefakte" hochzuladen?
EDIT/HINWEIS: Ich wahrscheinlich die deploy Datei Option versuche nächste, https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html, aber es wäre schön zu wissen, ob dies auf der gesamten Projektebene erfolgen kann
Sie veröffentlichen Repo ein Maven Repo in einer Art Nexus/Artefactory/Archiva basiert? BTW: ' .. generatePom>' existiert nicht für [maven-deploy-plugin] (https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html), so dass es nicht möglich ist Habe keinen Effekt ... –
khmarbaise
Ja, Nexus. Dasselbe wie der zentrale Proxy/firmeninterne, aber dieser hat einen anderen Verzeichnispfad. Es ist mehr oder weniger "ein Trick", etwas von den jenkins-Slave-Knoten auf eine corrent-Festplatte mit denselben Anmeldeinformationen zu übertragen. Nach dem Upload ist es egal, dass es sich um ein Maven-Repo handelt (d. H., Die Distribution verwendet nur die Festplatte) –
Also, wenn Sie solche Art von Repo verwenden, warum ist es ein Problem, Pom-Dateien drin? Vielleicht musst du einen anderen Weg gehen. Stellen Sie die resultierenden Build-Artefakte auf das Nexus (Repository) und mit einem Post-Schritt in Jenkins können Sie die Artefakte (nur Installer) erhalten und sie in das Release-Repo ...Aber wenn es auf Maven basiert, benötigen Sie Pom-Dateien ... – khmarbaise