Last project from my CodeAlpha DevOps internship. The task was to set up Jenkins Remoting, which is how Jenkins runs builds on other machines (agents), spread the work across them, run jobs on different CPU architectures, and use node isolation for security.
Repo: github.com/mikegbenga/CodeAlpha_JenkinsRemoting
The idea
The main Jenkins server (the controller ) never runs a build itself. Everything goes to agents. If a build runs on the controller, it can read everything in JENKINS_HOME , including every credential, so keeping builds off it is one of the easiest security wins.
Agent How it connects CPU Network
agent-linux-amd64 Agent dials in over WebSocket x86_64 ci-inbound
agent-linux-arm64 Agent dials in over WebSocket aarch64 ci-inbound
agent-ssh-secure Controller connects over SSH x86_64 ci-secure (no internet)
remote-vm-01 Real machine, dials in over WebSocket any anywhere it can reach the controller
How Jenkins Remoting works (short version)
Remoting is the library behind the…