Dies dokumentiert, wenn Sie die (?)
Hilfesymbol innerhalb Jenkins auf die „Quelldateien“ Feld neben klicken:
Die Zeichenfolge ist eine Liste Komma getrennt von für eine Ant fileset zB enthält. **/*.jar
(siehe Patterns im Ant-Handbuch).
In Ihrem Fall könnten Sie also **/Geo-*.war
als Quellmuster verwenden.
Dies spiegelt sich auch in dem Screenshot auf der plugin wiki page und in den Source Files und Examples Abschnitte auf der verlinkten „Publish Über ...“ Dokumentation gezeigt.
In Ihrem Kommentar zu dieser Antwort, erwähnen Sie, dass Sie kommunizieren wollen, um die genauen Dateinamen verwenden, nicht, dass der Dateiname ist „so etwas wie Geo- $ gradle_version.war“ für das Hochladen, sondern wollen in ein Skript wird auf dem SSH-Host ausgeführt.
Sie können dies tun, indem Sie einen Shell ausführen-Schritt hinzufügen, der den Dateinamen bestimmt, und ihn als Umgebungsvariable unter Verwendung der EnvInject Plugin exportieren. Zum Beispiel:
f=$(basename `find . -name 'Geo-*.war'`)
echo WAR_FILENAME=${f} > env.properties
Dann unter Verwendung eines Inject Umgebungsvariablen mit seinem Weg zu env.properties
gesetzt Schritt, der WAR_FILENAME
Wert wird auf die Build-Umgebung hinzugefügt werden, für die Verwendung durch die nachfolgenden Schritte.
Im Feld "Exec Command" des SSH-Veröffentlichungsschritts können Sie ${WAR_FILENAME}
verwenden, um auf den genauen hochgeladenen Dateinamen zu verweisen.
Vielen Dank für Ihre Antwort. Wildcards können ein Workaround sein, aber ich suchte nach einer Möglichkeit, den genauen Warennamen an das Skript zu übergeben, das nach der SSH-Kopie ausgeführt wurde. – sgargel
Du hättest das in deiner Frage dann klar erwähnen sollen. Ich habe meine Antwort hinzugefügt. –