Ich habe eine build.gradle-Aufgabe, die wie ein Champ auf meiner Entwickler-Box funktioniert, wenn ich eine Eigenschaftendatei erzeuge, die den Namen des Rechners aufzeichnet, auf dem der Build erzeugt wurde. Die Logik ist einfach genug ...Warum gibt InetAddress.getLocalHost(). GetHostName() einen anderen Wert als bash "hostname" zurück?
def hostname = InetAddress.getLocalHost().getHostName();
Auf meiner Dev-Box diese immer den gleichen Wert erzeugt, als ob ich die Hostnamen aus dem Bash-Shell hatte. .
bobk-mbp:DM_Server bobk$ hostname
bobk-mbp.local
Auf unserem jenkins CI-Server, eine Sache, aber bash Host-Name zurückgibt, aber mein Aufruf an InetAddress.getLocalHost() getHostName(); gibt etwas anderes zurück. Was muss auf der Jenkins-Maschine geändert werden, damit diese beiden den gleichen Wert erhalten?
Das ist so ziemlich das. Noch einfacher als die Umgebungsvariable ist das Ausblenden von Gradle zu exec Hostname ("Hostname" .execute(). Text). Funktioniert bei mir. Vielen Dank. –
Ich musste '" hostname ".execute(). Text.trim()' verwenden, um das nachfolgende Newline-Zeichen zu entfernen. – friederbluemle