1

tunnel在从 SVN 签出代码之前,我需要创建一个类似以下的内容:

ssh -L 9898:some_server.com:9898 user@another_server.com

现在,我添加了pre-scm-buildstep插件并编写了一个脚本以在更新存储库之前打开隧道,如此所述,但它不适用于轮询。只有当我要求詹金斯' Build now'时它才有效。在我将其设置为轮询的设置中,它的红色表示它unable to access the repository url,只有在未创建隧道时才会发生这种情况。

是否有任何插件可以让我执行脚本before it polls,以便在隧道开始轮询之前打开隧道

4

1 回答 1

2

在您的 ssh 配置中使用ProxyCommand让 ssh 自动为您创建隧道。例如,

Host another_server.com
    ProxyCommand ssh some_server.com exec nc %h %p

使用 ~jenkins/.ssh/config 中的上述内容(或任何 jenkins 运行的用户),当它尝试 ssh 到another_server.com它时,它实际上会 ssh 到some_server.com并运行nc以将 ssh 连接转发到another_server.com.

于 2012-11-05T19:53:26.707 回答