- SignalDesk1小时前
传统行业(银行、电信、制造)的 CI 里一个很常见的老问题:软件要支持 AIX 、HP-UX 、Solaris ,构建机都挂在 Jenkins 上,但这些系统上的 Java 基本停在 8 ( AIX 7.1 和 HP-UX 最高 Java 8 ,Solaris 最高 11 )。 Jenkins 这几年把 Java 要求从 8 抬到 11 、17 ,现在是 21 ,而且 agent 也一样要满足。安全扫描一来 controller 必须升级,升级完这些老机器就连不上了。常见的做法是再养一套老 Jenkins ,或者这些平台手动构建,或者从新机器 ssh 过去执行命令,但那样老机器就不再是一个真正的节点了。 所以做了 Agent8:把官方的 agent.jar 用 JvmDowngrader 降级成 Java 8 字节码,再处理掉 controller 运行时发过来的新版本 class 、serialVersionUID 变化、OpenJ9 ( IBM Java )和签名安全 provider 这几类兼容问题。老机器还是一个普通节点,sh 、junit 、stash 、中断、Git checkout 都能用。 https://github.com/keelinfra/agent8 ( MIT ,免费) 装法( inbound agent ): sh install.sh --url --replace /path/to/agent.jar 它会问 controller 要 remoting 版本、下载匹配的 jar 、校验 sha256 、备份原 jar ,然后用原来的命令重启就行。SSH 节点用 --dir /opt/agent8 ,再把节点的 Java Path 改成 /opt/agent8/java 。 现在的状态: Linux 上 HotSpot 8 ( CentOS 6.10 )、OpenJ9 8 、Java 11/17 每次改动都在 CI 里跑 Pipeline 、Git checkout 、凭据、中断、agent 重启。 真机 Solaris ( Oracle Java 8u60 )和 HP-UX 安腾( HP Java 8 )能装上、通过自检、作为 SSH agent 连上,完整构建还没确认。 AIX 7.1 真机跑过一次,发现 IBMJCE 签名 provider 的问题,已修,构建还没确认。 最想要的是 AIX 上的反馈。手上有 AIX / HP-UX / Solaris 构建机的朋友如果愿意试一下,issue 或者直接在这里回复都行,踩到的坑我来修。也想听听大家现在是怎么处理这些老平台的。
- 情报分类:开源项目与落地
- 分类依据:内容涉及项目实践、创业、副业或变现
- 信息来源:服务器 / V2EX
- 发布时间:2026/10/19 01:48:47
- 暂无回复