Tôi có một tác vụ build.gradle hoạt động giống như một nhà vô địch trên hộp dev của tôi khi tạo một tệp thuộc tính ghi lại tên của máy mà bản dựng đã được tạo. Logic rất đơn giản ...Tại sao InetAddress.getLocalHost(). GetHostName() trả về một giá trị khác với bash "tên máy chủ"?
def hostname = InetAddress.getLocalHost().getHostName();
Trên hộp dev của tôi luôn tạo ra giá trị giống như tôi đã đặt tên máy chủ từ bash shell. .
bobk-mbp:DM_Server bobk$ hostname
bobk-mbp.local
Trên máy chủ Jenkins CI của chúng tôi, tuy nhiên, bash hostname trả về một chuyện, nhưng cuộc gọi của tôi để InetAddress.getLocalHost() getHostName(); trả lại cái gì khác. Những gì cần phải thay đổi trên máy jenkins để có được hai trở về cùng một giá trị?
Điều này là khá nhiều. Thậm chí đơn giản hơn so với biến môi trường là bắn ra khỏi gradle để exec hostname ("hostname" .execute(). Văn bản). Làm việc cho tôi. Cảm ơn. –
Tôi đã phải sử dụng '" tên máy chủ ".execute(). Text.trim()' để loại bỏ ký tự dòng mới. – friederbluemle