Difference between: jenkins/agent and jenkins/inbound-agent images?

What is the difference between:



I assume the latter has replaced the old jnlp-slave image. But what is: jenkins/agent

used for and why does it contain the agent.jar - is that not whats in the jnlp/inbound agent?

The Jenkins agent image can be used by the Jenkins controller to start an agent from the Jenkins controller using the Launch method of Launch agent via execution of command on the master .

The Jenkins inbound agent image is used to start an agent externally (for example, a Kubernetes pod that is a Jenkins agent). The externally started agent connects to Jenkins. The Jenkins Kubernetes plugin uses the inbound agent image to start agents on demand. Those agents are launched in the Kubernetes cluster and connect to Jenkins.

Jenkins agent

This image is used as the basis for the Docker Inbound Agent image. In that image, the container is launched externally and attaches to Jenkins.

This image may instead be used to launch an agent using the Launch method of Launch agent via execution of command on the master .

Jenkins inbound agent

This is an image for Jenkins agents using TCP or WebSockets to establish inbound connection to the Jenkins master. This agent is powered by the Jenkins Remoting library, which version is being taken from the base Docker Agent image.

Ok I am using podTemplates in my jenkinsfiles/pipelines based on:

but revisiting the examples e.g:

it seems that neither:

are needed anymore?