代理执行部署的实际工作,例如,在完成任务时减轻服务器的工作。IBM UrbanCode Deploy 服务器请求的所有进程(包括打包、配置和部署)在分配给代理的硬件上运行。已安装代理启动后,该代理开启与 IBM UrbanCode Deploy 服务器的连接。服务器与代理之间的通信使用基于 JMS(Java™ 消息服务)的协议。可使用 SSL 及(可选)针对每个端点的基于相互密钥的认证来保护通信。此通信协议是无状态的,并且容许网络停运(下面讨论了无状态的优点)。
虽然我们将代理描述为单个进程,但从技术上讲,代理由工作程序进程和监视器进程组成。工作程序是多线程进程,它在从服务器接收到命令后运行实际部署工作。工作命令来自插件步骤,这些步骤提供与许多第三方工具的无缝集成。监视器是管理工作程序进程的服务:例如,启动和停止、处理重新启动、升级和安全性。代理很少升级,因为它们的功能是从插件派生的,插件可按意愿升级。安装代理后,可通过 IBM UrbanCode Deploy Web 应用程序管理。
代理是在 IBM UrbanCode Deploy 中实现可伸缩性的重要部分。通过添加更多代理,系统的吞吐量和容量几乎呈指数级增长,因此可缩放以适应甚至最大企业。