jenkins/jnlp-agent-nodeJenkins Inbound Agent Docker镜像集合是一套预配置的Docker镜像,旨在简化Jenkins入站代理(Inbound Agent)的部署与运行。该镜像集合将运行Jenkins入站代理所需的基础组件与标准Docker镜像相结合,提供了开箱即用的代理环境。
作为Jenkins控制器(Controller)的代理节点,用于执行构建、测试、部署等任务。通过入站模式(Agent主动连接控制器),解决传统出站模式(控制器主动连接Agent)中网络可达性限制问题,适用于动态容器化环境。
通过docker run命令启动入站代理,需指定Jenkins控制器地址、代理密钥及代理名称。
bashdocker run -d \ -e JENKINS_URL="[***]" \ # Jenkins控制器URL(需包含协议、主机、端口) -e JENKINS_SECRET="agent-secret-from-jenkins" \ # 代理密钥(从Jenkins控制器获取) -e JENKINS_AGENT_NAME="my-inbound-agent" \ # 代理名称(需在Jenkins控制器中预配置) jenkins/inbound-agent:latest # 镜像名称(可指定具体版本,如4.13-1)
以下为核心环境变量说明,用于配置代理连接参数:
| 环境变量名 | 必选 | 描述 |
|---|---|---|
JENKINS_URL | 是 | Jenkins控制器URL(格式:http://<controller-host>:<port> 或 [***]) |
JENKINS_SECRET | 是 | 代理注册密钥,从Jenkins控制器的“节点管理”页面生成(路径:Manage Jenkins > Nodes > New Node) |
JENKINS_AGENT_NAME | 是 | 代理节点名称,需与Jenkins控制器中配置的节点名称一致 |
JENKINS_AGENT_WORKDIR | 否 | 代理工作目录(默认:/home/jenkins/agent) |
JENKINS_WEB_SOCKET | 否 | 是否通过WebSocket连接控制器(值:true/false,默认false) |
NO_PROXY | 否 | 无需代理的主机/IP列表(格式:host1,host2,ip1,ip2) |
通过Docker Compose定义代理服务,适用于本地测试或小规模部署。
docker-compose.yml示例:yamlversion: '3.8' services: jenkins-inbound-agent: image: jenkins/inbound-agent:latest environment: - JENKINS_URL=[***] # 替换为实际Jenkins控制器URL - JENKINS_SECRET=your-agent-secret # 替换为从Jenkins获取的代理密钥 - JENKINS_AGENT_NAME=compose-agent # 自定义代理名称 - JENKINS_AGENT_WORKDIR=/home/jenkins/workdir # 自定义工作目录 restart: unless-stopped # 异常退出后自动重启
启动命令:
bashdocker-compose up -d
在Jenkins中配置Kubernetes Pod模板时,可直接引用该镜像。以下为Pod模板核心配置片段:
yamlapiVersion: v1 kind: Pod spec: containers: - name: jenkins-agent image: jenkins/inbound-agent:latest env: - name: JENKINS_URL value: "[***]" # Jenkins控制器在K8s集群内的Service地址 - name: JENKINS_SECRET valueFrom: secretKeyRef: name: agent-secrets # 存储代理密钥的K8s Secret key: agent-secret - name: JENKINS_AGENT_NAME valueFrom: fieldRef: fieldPath: metadata.name # 使用Pod名称作为代理名称
JENKINS_SECRET为敏感信息,建议通过环境变量文件、Docker Secrets或Kubernetes Secrets管理,避免明文暴露。JENKINS_URL,可通过docker exec -it <container-id> curl <JENKINS_URL>验证网络连通性。4.13-1)而非latest,确保部署一致性。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务