下面这份可以直接作为第二部分 CSDN 正文使用。它会和你现有文章形成完整上下两篇:第一篇负责 GitLab + Jenkins Controller,第二篇负责 Jenkins Agent 接入和流水线改造。Ubuntu 配置 Jenkins Agent 并让 GitLab 流水线运行在 Agent 上完整教程上一篇文章已经完成了:1. Ubuntu 安装 GitLab 2. Ubuntu 安装 Jenkins Controller 3. Jenkins 使用 8081 端口 4. Jenkins 集成 GitLab 5. GitLab Webhook 触发 Jenkins Pipeline本篇继续配置Jenkins Agent 节点。简单理解:Jenkins Controller:负责管理任务、调度任务、展示页面 Jenkins Agent:真正执行构建、测试、打包命令的机器Jenkins 官方文档也说明,Controller 负责管理和调度 Agent,Agent 负责执行 Pipeline、Freestyle 等任务;Agent 需要安装 Java,并且要能和 Controller 网络互通。一、本文环境说明上一篇环境如下:GitLab 服务器: 192.168.1.42 Jenkins Controller: http://192.168.1.42:8081 GitLab 地址: http://192.168.1.42本文新增一台 Jenkins Agent,示例环境如下:Jenkins Agent 节点: 192.168.1.41 Agent 操作系统: Ubuntu Agent 登录用户: jenkins Agent 工作目录: /home/jenkins/agent-workspace Agent 标签: ubuntu-agent如果你的 Agent 不是192.168.1.41,把下面所有命令里的 IP 替换成你自己的 Agent IP 即可。最终结构如下:开发者提交代码 ↓ GitLab 触发 Webhook ↓ Jenkins Controller 接收任务 ↓ Jenkins Controller 把任务分配给 Jenkins Agent ↓ Jenkins Agent 拉代码、构建、测试 ↓ Jenkins Controller 展示构建结果,并回写 GitLab 状态二、为什么要配置 Jenkins Agent上一篇教程里,Jenkins Controller 既负责管理任务,也负责执行任务。小规模测试没问题,但实际使用中更推荐:Controller 只负责调度 Agent 负责真正构建这样做有几个好处:1. Controller 更稳定,不容易因为构建任务卡死 2. 可以增加多个 Agent,提高并发构建能力 3. 不同 Agent 可以安装不同构建环境 4. 构建产生的临时文件不会污染 Controller 5. 后续更容易扩展成多节点 CI/CD 环境Jenkins 官方文档建议将 Controller 的执行器数量设置为0,让 Controller 专注于调度和管理,把具体构建任务交给 Agent 执行。(Jenkins)三、Agent 节点安装基础环境下面操作在Agent 节点 192.168.1.41上执行。先登录 Agent:ssh你的用户名@192.168.1.41更新软件源:sudoaptupdate安装基础工具:sudoaptinstall-ycurlwgetvimgitunzipopenssh-server fontconfig启动 SSH 服务:sudosystemctlenablesshsudosystemctl startsshsudosystemctl statusssh--no-pager如果启用了防火墙,开放 SSH 端口:sudoufw allow OpenSSHsudoufw status四、Agent 节点安装 Java 21Jenkins Agent 需要 Java 才能运行。上一篇安装的 Jenkins 版本比较新,Jenkins 官方 Java 支持策略中说明,从 Jenkins LTS2.555.1开始,需要 Java 21 或 Java 25;这些要求适用于 Controller、Agent、CLI 等 Jenkins 组件。(Jenkins)在 Agent 上安装 Java 21:sudoaptinstall-yopenjdk-21-jdk检查 Java 版本:java-version正常应该看到类似:openjdk version "21.x.x"如果系统里有多个 Java 版本,可以执行:sudoupdate-alternatives--configjava选择 Java 21 对应的编号。再次确认:java-version五、创建 Jenkins Agent 专用用户为了安全和规范,不建议直接用 root 用户运行 Agent。在 Agent 节点创建jenkins用户:sudouseradd-m-s/bin/bash jenkins设置密码:sudopasswdjenkins创建 Agent 工作目录:sudomkdir-p/home/jenkins/agent-workspacesudochown-Rjenkins:jenkins /home/jenkins/agent-workspace确认目录权限:ls-ld/home/jenkins/agent-workspace正常应该类似:drwxr-xr-x 2 jenkins jenkins ...六、在 Controller 上生成 SSH 密钥下面操作回到Jenkins Controller 节点 192.168.1.42执行。因为 Jenkins 服务是用jenkins用户运行的,所以 SSH 密钥也建议放在 Jenkins Controller 的jenkins用户目录下。创建 SSH 目录:
GitLabJenkins部署02:配置 Jenkins Agent (实际运行构建任务的节点)并让 GitLab 流水线运行在 Agent 上完整教程
发布时间:2026/5/26 23:38:01
下面这份可以直接作为第二部分 CSDN 正文使用。它会和你现有文章形成完整上下两篇:第一篇负责 GitLab + Jenkins Controller,第二篇负责 Jenkins Agent 接入和流水线改造。Ubuntu 配置 Jenkins Agent 并让 GitLab 流水线运行在 Agent 上完整教程上一篇文章已经完成了:1. Ubuntu 安装 GitLab 2. Ubuntu 安装 Jenkins Controller 3. Jenkins 使用 8081 端口 4. Jenkins 集成 GitLab 5. GitLab Webhook 触发 Jenkins Pipeline本篇继续配置Jenkins Agent 节点。简单理解:Jenkins Controller:负责管理任务、调度任务、展示页面 Jenkins Agent:真正执行构建、测试、打包命令的机器Jenkins 官方文档也说明,Controller 负责管理和调度 Agent,Agent 负责执行 Pipeline、Freestyle 等任务;Agent 需要安装 Java,并且要能和 Controller 网络互通。一、本文环境说明上一篇环境如下:GitLab 服务器: 192.168.1.42 Jenkins Controller: http://192.168.1.42:8081 GitLab 地址: http://192.168.1.42本文新增一台 Jenkins Agent,示例环境如下:Jenkins Agent 节点: 192.168.1.41 Agent 操作系统: Ubuntu Agent 登录用户: jenkins Agent 工作目录: /home/jenkins/agent-workspace Agent 标签: ubuntu-agent如果你的 Agent 不是192.168.1.41,把下面所有命令里的 IP 替换成你自己的 Agent IP 即可。最终结构如下:开发者提交代码 ↓ GitLab 触发 Webhook ↓ Jenkins Controller 接收任务 ↓ Jenkins Controller 把任务分配给 Jenkins Agent ↓ Jenkins Agent 拉代码、构建、测试 ↓ Jenkins Controller 展示构建结果,并回写 GitLab 状态二、为什么要配置 Jenkins Agent上一篇教程里,Jenkins Controller 既负责管理任务,也负责执行任务。小规模测试没问题,但实际使用中更推荐:Controller 只负责调度 Agent 负责真正构建这样做有几个好处:1. Controller 更稳定,不容易因为构建任务卡死 2. 可以增加多个 Agent,提高并发构建能力 3. 不同 Agent 可以安装不同构建环境 4. 构建产生的临时文件不会污染 Controller 5. 后续更容易扩展成多节点 CI/CD 环境Jenkins 官方文档建议将 Controller 的执行器数量设置为0,让 Controller 专注于调度和管理,把具体构建任务交给 Agent 执行。(Jenkins)三、Agent 节点安装基础环境下面操作在Agent 节点 192.168.1.41上执行。先登录 Agent:ssh你的用户名@192.168.1.41更新软件源:sudoaptupdate安装基础工具:sudoaptinstall-ycurlwgetvimgitunzipopenssh-server fontconfig启动 SSH 服务:sudosystemctlenablesshsudosystemctl startsshsudosystemctl statusssh--no-pager如果启用了防火墙,开放 SSH 端口:sudoufw allow OpenSSHsudoufw status四、Agent 节点安装 Java 21Jenkins Agent 需要 Java 才能运行。上一篇安装的 Jenkins 版本比较新,Jenkins 官方 Java 支持策略中说明,从 Jenkins LTS2.555.1开始,需要 Java 21 或 Java 25;这些要求适用于 Controller、Agent、CLI 等 Jenkins 组件。(Jenkins)在 Agent 上安装 Java 21:sudoaptinstall-yopenjdk-21-jdk检查 Java 版本:java-version正常应该看到类似:openjdk version "21.x.x"如果系统里有多个 Java 版本,可以执行:sudoupdate-alternatives--configjava选择 Java 21 对应的编号。再次确认:java-version五、创建 Jenkins Agent 专用用户为了安全和规范,不建议直接用 root 用户运行 Agent。在 Agent 节点创建jenkins用户:sudouseradd-m-s/bin/bash jenkins设置密码:sudopasswdjenkins创建 Agent 工作目录:sudomkdir-p/home/jenkins/agent-workspacesudochown-Rjenkins:jenkins /home/jenkins/agent-workspace确认目录权限:ls-ld/home/jenkins/agent-workspace正常应该类似:drwxr-xr-x 2 jenkins jenkins ...六、在 Controller 上生成 SSH 密钥下面操作回到Jenkins Controller 节点 192.168.1.42执行。因为 Jenkins 服务是用jenkins用户运行的,所以 SSH 密钥也建议放在 Jenkins Controller 的jenkins用户目录下。创建 SSH 目录: