为什么詹金斯会生成二进制临时文件?

为什么詹金斯会生成二进制临时文件?

我在服务器上安装了 Jenkins,用于持续集成测试版网站。配置非常简单,我只需使用适当的目录作为/var/www/工作区,并使用 Git 和 Git 插件进行源代码控制。

我最近安装了脑脊液在服务器上,它不断报告 Jenkins 正在创建的临时文件“可疑”。以下是最新报告的日志:

Time:   Mon Aug 24 16:11:08 2015 -0400
File:   /tmp/jffi6688931929611009979.tmp
Reason: Linux Binary
Owner:  jenkins:jenkins (112:120)
Action: No action taken

该文件看起来确实是一个可执行文件。我的问题是,为什么詹金斯要创建临时可执行文件?

注意:该服务器 100% 基于 PHP,Jenkins 不应从中创建任何可执行文件!

这些文件似乎在 Jenkins 每次构建项目时都会创建,尽管构建步骤只是将密码放入正确的配置文件中。不,它们大约每小时随机弹出两次。

file其中一个文件上的输出:

$ file /tmp/jffi6688931929611009979.tmp
/tmp/jffi6688931929611009979.tmp: ELF 64-bit LSB  shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

插件列表:

  • Ant 插件
  • 构建监控视图
  • 凭证绑定插件
  • 凭证插件
  • CVS 插件
  • 磁盘使用插件
  • 外部监视器作业类型插件
  • GIT 客户端插件
  • GIT 插件
  • Javadoc 插件
  • JUnit 插件
  • LDAP 插件
  • 邮件插件
  • 矩阵授权策略插件
  • 矩阵项目插件
  • Maven 集成插件
  • OWASP 标记格式化插件
  • PAM 身份验证插件
  • 普通凭证插件
  • SCM API 插件
  • 脚本安全插件
  • SSH 凭证插件
  • SSH Slaves 插件
  • 翻译辅助插件
  • Windows Slaves 插件
  • 工作流程:步骤 API

答案1

Jenkins 是一个 Java 程序。

需要本机库的 Java 程序可能将本机 .so 或 .dll 文件从其 .jar 文件中提取到 /tmp 以便能够正确加载本机库。

我认为标准 Jenkins 不会包含需要本机库的插件。也许您安装的某个插件需要本机库?

答案2

好的,我发现了问题。有问题的文件是 Jenkins 更新。我没有注意到该文件被错误地删除了,并且所有警报都与同一个文件有关。

相关内容