You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Jenkins Pipeline在局域网本地电脑而非服务器上执行?

解决Jenkins Pipeline在局域网本地电脑执行并开放给服务台操作的方案

一、让Pipeline在目标本地电脑执行

核心是通过Jenkins**代理节点(Agent Node)**将安装任务分发到服务台的更换电脑上,步骤如下:

  1. 在目标电脑配置Jenkins代理节点

    • 登录Jenkins管理界面,进入「管理Jenkins」→「管理节点与云」
    • 点击「新建节点」,输入对应电脑的名称,选择「固定节点」后确认
    • 配置节点关键参数:
      • 远程工作目录:在目标电脑上指定一个空文件夹(如C:\JenkinsAgent或/opt/jenkins_agent)
      • 标签:设置专属标识(比如desk-install-01),后续Pipeline通过该标签指定运行节点
      • 启动方式:优先选「通过Java Web启动代理」,局域网内操作更便捷:
        1. 保存配置后,点击该节点详情页,复制带密钥的Java启动命令
        2. 在目标电脑安装与Jenkins服务器兼容的JRE/JDK
        3. 打开命令提示符/终端,粘贴命令执行,待节点状态变为「在线」即配置完成
  2. 修改Pipeline指定运行节点
    在Pipeline脚本开头添加agent配置,确保任务跑在目标代理节点上:

    pipeline {
        agent { label 'desk-install-01' } // 对应设置的节点标签
        stages {
            stage('安装应用') {
                steps {
                    // Windows环境示例:静默安装MSI包
                    bat 'msiexec /i "//局域网共享路径/app.msi" /quiet'
                    // Linux环境示例:安装Deb包
                    // sh 'sudo dpkg -i /mnt/share/app.deb'
                }
            }
        }
    }
    

    若需要服务台选择具体电脑,可通过input步骤动态指定节点:

    pipeline {
        agent none
        stages {
            stage('选择目标电脑') {
                steps {
                    script {
                        def targetNode = input(
                            message: '请选择要安装应用的电脑',
                            parameters: [choice(name: 'NodeLabel', choices: ['desk-install-01', 'desk-install-02'], description: '目标电脑标签')]
                        )
                        node(targetNode) {
                            stage('安装应用') {
                                bat 'msiexec /i "//局域网共享路径/app.msi" /quiet'
                            }
                        }
                    }
                }
            }
        }
    }
    

二、开放服务台用户操作权限与触发方式

  1. 创建服务台用户组并配置权限

    • 进入「管理Jenkins」→「管理用户」→「创建用户」,为服务台成员创建专属账号
    • 进入「管理Jenkins」→「配置全局安全」,启用「基于矩阵的安全策略」
    • 添加服务台用户组(或单个用户),授予以下必要权限:
      • 「Job」权限:读取、构建(按需添加取消构建、创建等权限)
      • 「Overall」权限:只读(确保能正常访问Jenkins页面)
  2. 简化Pipeline触发流程

    • 给Pipeline配置参数化构建(如需用户选择应用版本等信息):进入项目「配置」→「构建触发器」,勾选「此项目是参数化的」,添加对应参数(如下拉选择框)
    • 服务台用户登录Jenkins后,直接进入该Pipeline项目,点击「构建」(有参数则先填写)即可触发安装流程
  3. 可选:优化操作入口

    • 将该Pipeline添加到Jenkins首页的「我的视图」,让服务台用户直接在首页看到并触发
    • 安装「Build Monitor Plugin」插件,创建专属监控视图,集中展示Pipeline状态与触发入口

三、关键注意事项

  • 确保Jenkins服务器与目标电脑在同一局域网,防火墙开放必要端口(Web启动代理无需额外端口,若用JNLP方式需开放50000端口)
  • 代理节点的运行用户需具备安装应用的权限(如Windows管理员权限、Linux sudo权限)
  • 安装包建议放在局域网共享目录,避免代理节点重复下载大文件

内容的提问来源于stack exchange,提问作者ThALTAIRPL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 13:33:21