我遇到的问题是,当我们通过以下方式部署 Java 应用程序时詹金斯主机名变量未传递给它。在脚本中的某个地方,我们定义了HOSTNAME=$(hostname -f)
变量,我们在启动应用程序时使用该变量 - CMD_ARGS="--spring.config.location=file:$CONFIG_HOME/$CONFIG_NAME -Dhostname=$HOSTNAME"
。在这种情况下,主机名为空(我在我们的应用程序中添加了日志)。但是如果我手动停止应用程序然后使用相同的脚本这是 Jenkins 作业使用的,主机名变量被正确传递给 java 应用程序。因此,使用相同的选项调用相同的脚本,唯一的区别是它是由 Jenkins 还是由我自己调用。在这两种情况下,应用程序都会启动并正常工作,除非未传递 Jenkins 主机名。
Jenkins部署不将变量传递给java
相关内容
- Raspbian:USB 设备电源循环后 USB 存储设备名称发生变化
- 数据包被复制了多少次才最终到达网卡?
- 编辑文件后节点监控脚本不起作用
- 将矩阵与‘align’中的分隔符对齐,使其左对齐
- 为什么 Xubuntu 的“hdparm”命令没有为我的 SSD(Crucial m4)返回更快的结果?
- 启动时出现 mm.c:376 错误:内存不足
- apt-get install pkg -y 起什么作用?
- 允许“用户”组成员安装驱动程序
- 减少 ffmpeg 中场景选择逻辑中的噪音
- Ubuntu Live CD 使用什么将 casper 目录中的多个 *.squashfs 文件合并到单个统一文件系统 UnionFS 还是 AUFS?或者其他?