温馨提示×

jenkins如何连centos代理

小樊
46
2026-10-09 05:46:09
栏目: 智能运维

下面按常见场景给你讲一下 Jenkins 怎么连接 CentOS 作为代理(Agent / Node)。
(假设你说的“CentOS 代理”是指:用一台 CentOS 机器作为 Jenkins 的构建节点)


一、准备工作(CentOS 节点)

1. CentOS 上安装 Java(必须)

Jenkins Agent 需要 Java 运行环境

java -version

如果没有:

yum install -y java-11-openjdk
# 或
yum install -y java-1.8.0-openjdk

2. 创建 Jenkins 用户(可选但推荐)

useradd jenkins
passwd jenkins

3. 配置 SSH(推荐方式)

yum install -y openssh-server
systemctl enable sshd
systemctl start sshd

确保 Jenkins 服务器能 SSH 到 CentOS:

ssh jenkins@centos_ip

二、Jenkins 上添加 CentOS 代理(节点)

方式一:SSH 启动 Agent(最常用 ✅)

1. Jenkins → 管理 Jenkins → 节点管理 → 新建节点

  • 节点名称:centos-agent
  • 类型:Permanent Agent

2. 节点配置

  • 远程工作目录:/home/jenkins/agent
  • 启动方式:Launch agents via SSH
  • Host:CentOS IP
  • Credentials:CentOS 的 SSH 用户名/密码 或 密钥
  • Host Key Verification Strategy:
    • 测试环境可选 Non verifying
    • 生产建议 Known hosts

保存后 Jenkins 会自动连上去。


方式二:Java Web Start(JNLP)

CentOS 上执行:

mkdir -p /home/jenkins/agent
cd /home/jenkins/agent
wget http://jenkins_ip:8080/jnlpJars/agent.jar

Jenkins 节点页面会给你类似命令:

java -jar agent.jar \
  -jnlpUrl http://jenkins_ip:8080/computer/centos-agent/slave-agent.jnlp \
  -secret xxxxxxxx

可做成 systemd 服务常驻。


三、测试代理是否可用

新建一个 Pipeline:

pipeline {
    agent { label 'centos-agent' }
    stages {
        stage('Test') {
            steps {
                sh 'hostname && java -version'
            }
        }
    }
}

能正常执行就说明连上了。


四、常见问题

❌ Jenkins 连不上 CentOS

  • 防火墙
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload
  • SELinux(测试可临时关)
setenforce 0

❌ Java 版本不对

Jenkins 2.4xx 推荐 Java 11+


五、总结

✅ 最推荐方式:CentOS + SSH + Permanent Agent
✅ 需要 Java
✅ 网络通 + 权限对就能连

如果你说的是**“Jenkins 通过 CentOS 做 HTTP 代理上网”**,或者 Kubernetes 里的 CentOS 节点,告诉我我可以针对性讲。

0 踩