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

如何通过Maven hpi:run实现Jenkins插件的远程访问?

解决mvn hpi:run启动Jenkins仅监听本地地址的问题

我之前也遇到过一模一样的问题——默认情况下mvn hpi:run启动的Jenkins开发实例只会绑定到127.0.0.1,导致只能在服务器本地访问,哪怕SSH隧道配置好了也没用。你试的几个参数没生效,大概率是因为版本适配的问题,现在给你几个靠谱的解决方案:

直接用Jenkins原生启动参数(推荐)

现在的maven-hpi-plugin是通过传递Jenkins自身的启动参数来配置监听地址的,你需要用-Djenkins.listenAddress=0.0.0.0来让实例监听所有网络接口,同时可以指定端口(如果需要)。完整命令如下:

mvn clean hpi:run -Djenkins.listenAddress=0.0.0.0 -Djenkins.httpPort=8080

执行这个命令后,你可以在服务器上用ss -tulpn | grep 8080验证监听状态,如果输出里显示0.0.0.0:8080,就说明配置成功了,这时候不管是服务器上curl server:8080还是本地通过SSH隧道访问,都能正常连接Jenkins了。

把配置写到pom.xml里(避免每次输参数)

如果不想每次启动都敲一堆参数,可以修改项目的pom.xml,把监听配置固定到maven-hpi-plugin的配置中:

<build>
  <plugins>
    <plugin>
      <groupId>org.jenkins-ci.tools</groupId>
      <artifactId>maven-hpi-plugin</artifactId>
      <!-- 建议使用最新稳定版本的插件 -->
      <version>3.29</version>
      <configuration>
        <jenkinsArguments>
          --httpListenAddress=0.0.0.0 --httpPort=8080
        </jenkinsArguments>
      </configuration>
    </plugin>
  </plugins>
</build>

修改后,直接执行mvn clean hpi:run就会自动应用这些配置。

为什么之前的参数没生效?

你试的-DhttpListenAddress、-Djetty.host这些参数,要么是旧版本maven-hpi-plugin的用法,要么是直接给Jetty容器传参的方式,但现在的插件已经改成通过Jenkins自身的启动参数来配置了,所以那些参数不再生效。

最后明确回答你的疑问:完全不需要每次部署到本地Jenkins服务器,只要用上面的方法配置监听地址,hpi:run启动的开发实例就能支持远程访问或者SSH隧道访问,非常方便插件调试。

内容的提问来源于stack exchange,提问作者David Georg Reichelt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 20:23:11