Jenkins部署不将变量传递给java

Jenkins部署不将变量传递给java

我遇到的问题是,当我们通过以下方式部署 Java 应用程序时詹金斯主机名变量未传递给它。在脚本中的某个地方,我们定义了HOSTNAME=$(hostname -f)变量,我们在启动应用程序时使用该变量 - CMD_ARGS="--spring.config.location=file:$CONFIG_HOME/$CONFIG_NAME -Dhostname=$HOSTNAME"。在这种情况下,主机名为空(我在我们的应用程序中添加了日志)。但是如果我手动停止应用程序然后使用相同的脚本这是 Jenkins 作业使用的,主机名变量被正确传递给 java 应用程序。因此,使用相同的选项调用相同的脚本,唯一的区别是它是由 Jenkins 还是由我自己调用。在这两种情况下,应用程序都会启动并正常工作,除非未传递 Jenkins 主机名。

相关内容