千亿体育网址Jenkins Remoting is a library, and executable Java archive, which implements the communication layer in Jenkins. This includes the TCP-based communication protocols, remote procedure calls, class loading, data streaming, etc. Currently Remoting is primarily used in master/agent communications.
千亿体育网址The Remoting sub-project includes the Remoting library itself, package for agents, and a number of Remoting-specific plugins and core modules.
Agent executables (
remoting.jar is a named
slave.jar千亿体育网址 in Jenkins)
Master to Agent communication protocols being used in various Agent types, including Java Web Start (aka JNLP) and SSH agents
Communication with Maven instance in the Maven Integration plugin.
Remoting Library is the main component of the the sub-project. The code base is located in a , which also contains Remoting developer and user documentation. This library also has an independent release cycle and LTS release lines.
千亿体育网址Although Remoting library is a standalone component, Jenkins core includes some extensions and modules for working with Remoting. Core extensions also allow implementing custom protocols on-demand (e.g. for Jenkins CLI). There is ongoing activity on detaching these core components to Jenkins plugins (see ), but in the meantime upgrading of Jenkins core may be required to fix Remoting issues.
千亿体育网址Jenkins core extensions:
- Generic API for Remoting Agent installations
千亿体育网址 - Provides logic for installing Jenkins agents as Windows services, powered by
千亿体育网址There are several packages which bundle the Remoting library and allow connecting Jenkins agents via one of remoting protocols.
: Base image, which bundles Remoting
: Image, which can be used to connect agents using TCP (JNLP protocols) or WebSockets
Jenkins CLI executable (Requires Remoting CLI to be enabled on the master side)
Swarm Agent Connector executable in Swarm Plugin
Docker Agent Images will be moved to the