Jenkins部署不將變數傳遞給java

Jenkins部署不將變數傳遞給java

我遇到的問題是,當我們透過以下方式部署 Java 應用程式時詹金斯主機名變數未傳遞給它。在腳本中的某個地方,我們定義了HOSTNAME=$(hostname -f)變量,我們在啟動應用程式時使用該變量 - CMD_ARGS="--spring.config.location=file:$CONFIG_HOME/$CONFIG_NAME -Dhostname=$HOSTNAME"。在這種情況下,主機名為空(我在我們的應用程式中新增了日誌)。但是如果我手動停止應用程式然後使用相同的腳本這是 Jenkins 作業使用的,主機名稱變數被正確地傳遞給 java 應用程式。因此,使用相同的選項呼叫相同的腳本,唯一的區別是它是由 Jenkins 還是由我自己呼叫。在這兩種情況下,應用程式都會啟動並正常運作,除非未傳遞 Jenkins 主機名稱。

相關內容