Maven deploy - per SSH

Oneixee5

Top Contributor
Hallo,
ich muss in einer fremden und sehr restriktiven Windows Umgebung das Deployment mehrerer Webanwendungen umbauen. Die Anwendungen sollen von Windows-Servern in eine Docker-Kubernetes-Umgebung "umziehen".
Nach einigem Kampf konnte ich eine Linux-VM als eine Art Sprungsystem etablieren. Auf dieser erzeuge ich Docker-Images und pushe diese dann in eine Rancher-Instanz. Das konnte ich soweit alles automatisieren.
Mein Problem ist das Maven-Build. Im Prinzip möchte ich, dass ein mvn deploy alles erledigt was nötig ist. Ich scheitere aber wieder einmal an der Unübersichtlichkeit von Maven. Ich habe mich an diese Anleitung zu halten: https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html
Das funktioniert auch soweit. Das Ergebnis ist aber scheinbar ein Maven-Repository auf der Linux-VM. Das ist aber nicht was ich brauche. Ich hätte gern alles schön in bestimmte Ordner kopiert ohne viel Drumherum. Eine sinnvolle Versionierung usw. wird in den Projekten sowieso nicht betrieben. Ich müsste jetzt mit Scripten das Repo wieder auseinander nehmen um an die Jar's, War's. Ear's und andere Artefakte zu kommen.
Geht das nicht irgendwie besser? Im Prinzip brauche ich pro Projekt nur einen Ordner mit der aktuellen Version des Projektes. Dieser Ordner könnte dann evtl. noch Unterordner mit statischen Ressourcen enthalten. Den Rest würde ich einfach im Dockerfile regeln.
 

KonradN

Super-Moderator
Mitarbeiter
Die Seite, die Du da gezeigt hast, macht ja auch nach meinem Verständnis genau das: Deployment in ein Repository per SSH.

Wenn ich Dich richtig verstanden habe, dann willst Du aber einen Befehl ausführen? Da wären meine Gedanken:
a) Die Linux VM könnte ggf. das Build System sein - dann müsstest Du da nichts mehr kopieren und könntest alles direkt machen. Sprich: Du httest da dann einen Worker oder so für die ci/cd Pipeline.
b) Das Exec maven Plugin kann genutzt werden, um beliebige Dinge aufzurufen. Du kannst die gewünschten Dateien also auch per ssh Aufrufen kopieren oder so. https://www.mojohaus.org/exec-maven-plugin/

Das wären so die zwei Dinge, die mir hier direkt durch den Kopf gehen würden...
 

Oneixee5

Top Contributor
Danke für den Tipp. Ich trau mir das gar nicht so richtig zu sagen. Die Linux-VM hat zu wenig Ressourcen als Build-VM. Die ganze Umgebung, dort, ist ein Trauerfall.
 

KonradN

Super-Moderator
Mitarbeiter
Danke für den Tipp. Ich trau mir das gar nicht so richtig zu sagen. Die Linux-VM hat zu wenig Ressourcen als Build-VM. Die ganze Umgebung, dort, ist ein Trauerfall.
Ja, dann bleibt wohl nur b. Dabei ist die Frage, wie man vorgeht. Wenn es mit einem oder zwei Befehle getan ist, dann kann man die recht gut unter bringen. Wenn das deploy komplexer wird, dann würde ich ein deploy Script schreiben speziell für diesen Fall. Das ja etwas ganz spezifisches nur für diesen Rechner.

Damit das sonst nicht stört, könnte man das dann noch in ein Profil packen. Dann wird der Aufruf in der CI/CD Pipeline mit dem Profil gemacht und als Entwickler hast Du nicht das Problem, dass du da dann versehentlich das deploy Script aufrufst.

Ist nicht ganz sauber finde ich, weil Du ganz spezifische Dinge der Umgebung mit ins Projekt packst, die eben nicht universell sind. Ich habe es immer gerne so, dass ein Projekt mit minimalen Voraussetzungen überall läuft. Aber da es sich ja um ein internes Projekt handelt, sollte das ok sein.
(Und dann ist der Punkt auch wirklich eigentlich egal denke ich mal)
 

Oneixee5

Top Contributor
Das muss mal funktionieren, ohne dass ich da ständig mitwirken muss, auch mit Profilen. Ich habe das nur wegen der Kubernetes-Umgebung aufgebrummt bekommen. Ich habe es so ausgelegt, dass in der sogenannten Produktionsumgebung, noch ein Login + OK-Klick von einen Admin beim Rancher erforderlich ist. Damit hoffe ich Versehen zu vermeiden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
L Remote-Deploy mit Maven?! Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven-Abhängigkeiten im Build prüfen? Tools - Maven, Gradle, Ant & mehr 9
D Maven deployment über WebDAV Tools - Maven, Gradle, Ant & mehr 3
D Maven ear plugin konfigurieren Tools - Maven, Gradle, Ant & mehr 24
F Maven Fehler Tools - Maven, Gradle, Ant & mehr 11
R Maven erzeugt package ohne Bibliotheken (Libaries, Dependencies) Tools - Maven, Gradle, Ant & mehr 10
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2

Ähnliche Java Themen

Neue Themen


Oben