Agent8 for Jenkins
Run Jenkins agents on hosts stuck on Java 8, 11 or 17.
Jenkins now requires Java 21 on the controller and on every agent. With Agent8 the controller moves on, and the old build host keeps its Java and stays an ordinary node.
# 1. fetch the installer $ curl -fsSLO https://raw.githubusercontent.com/\ keelinfra/agent8/main/install.sh # 2. match the controller, swap the jar $ sh install.sh --url https://jenkins.example.com/ \ --replace /path/to/agent.jar # 3. restart with the same command as before $ java -jar /path/to/agent.jar -url ... -name aix71
The controller upgrades. The build host doesn't have to.
Upgraded on schedule, with its security fixes.
Starts the Java agents it needs itself.
Keeps its OS, its toolchain and its Java.
What keeps working on the old host
- Labels and executors
shand file stepsjunitandstash- Pipeline, Git checkout and credentials
- Aborts and agent restarts mid-build
- The script console
Where it runs today
Linux is tested in CI on every change. AIX, Solaris and HP-UX are experimental until they have run on real hardware; tell us if you can help verify one.
| Build host | Java | Status |
|---|---|---|
| Linux, including RHEL/CentOS 6 | HotSpot 8 | Tested in CI |
| Linux, IBM Semeru (OpenJ9, the JVM family of IBM Java 8) | OpenJ9 8 | Tested in CI |
| Linux | HotSpot 11, 17 | Tested in CI |
| AIX 7.1 / 7.2 | IBM Java 8 | Experimental |
| Solaris, HP-UX | Java 8, 11 | Experimental |
One script, plain sh, any old Unix
It asks your controller
install.sh asks the controller which agent it ships and downloads the
agent8 release for that Jenkins version, built for the host's Java.
It checks before it swaps
Downloads are checked against sha256sums.txt and test-started on the local
Java. The old jar is kept, and --restore puts it back.
You restart as usual
Same java -jar command, same service script. Offline hosts use
--from DIR; fleets use the Ansible playbook.
Releases are named after the Jenkins version they match. Your version is at the bottom right of every Jenkins page.
All releases →Full options, the Ansible playbook and troubleshooting are in the README. Background: Jenkins requires Java 21. What happens to your AIX 7.1 and RHEL 6 build hosts?
Questions teams ask first
Is this an official Jenkins project?
No. Agent8 is independent and not endorsed or supported by the Jenkins project. Report problems on its GitHub issues, not the Jenkins tracker.
Why not run the build in a container?
That works for many RHEL 6 builds. It can't cover builds that must run natively on AIX, Solaris or HP-UX hardware.
Which launch methods work?
Inbound agents, started with java -jar agent.jar. The SSH Build Agents
launcher copies its own jar to the host and isn't supported yet.
What is the license?
MIT. The jars include JvmDowngrader classes under LGPL-2.1.
Rolling out to AIX, Solaris or HP-UX, or a whole fleet?
Pilots on your platform, plugin compatibility checks and support you can put in a contract. The first answer is free and in writing, within two business days.