在詹金斯(Jenkins)工作期间,有没有办法连接到VPN? (自由式或管道,我都可以使用)。

我仔细检查了插件列表,确定有人可能已经开发了某些东西,但是找到的唯一页面是这个OpenConnect页面,没有开发任何实际代码,因此似乎不存在。

如果发生任何变化,我们将在Ubuntu AWS机器上运行Jenkins。我希望能够在单个作业中进行连接和断开连接,而不是使所有内容都在VPN上运行。

评论

我想重申一下(对于OP和其他可能会发现此问题的人),如果您仍在寻找,您实际上可以执行此操作,请查看我的回答。

#1 楼

我认为要实现这样的目标非常困难,即使不是不可能。

原因是,一旦运行Jenkins的计算机连接到VPN,它也会与已连接的原始网络有效断开连接,这意味着该计算机上的Jenkins将与您的其余部分失去连接Jenkins设置。

唯一可行的方法是使用完全独立的单机Jenkins设置。

评论


真是令人b目结舌,但这完全有道理。谢谢!

– Alex
17年8月25日在14:11

在我写此评论时,这是不准确的,我也不认为这只是...

– ZaxLofful
18/09/13在23:18

@ZaxLofful VPN客户端至少会更改路由表,以使本地网络无法访问(通常是指“有效断开连接”)。因此,至少您需要运行其他脚本来仔细恢复连接性,而又不影响VPN流量。而且,如果由于此脚本的干预,VPN客户端不够聪明,无法还原到原始路由表,那么从VPN断开连接后,您也需要进行干预。如果除了路由之外还需要寻址,请不要。

–丹·科尼莱斯库(Dan Cornilescu)
18-09-14在1:43



@DanCornilescu:我再次想说这不是发生的默认操作,如今大多数VPN客户端默认使用拆分隧道。旨在绕过网络的消费者VPN不会,但这不是我们在这里谈论的。

– ZaxLofful
19年2月27日在19:45

#2 楼

如果您想通过VPN来执行詹金斯任务,则需要使用您提到的OpenConnect插件。

这里是执行此操作的步骤: )

sudo apt-get install openconnect


在/ etc / sudoers(ubuntu配置)的底部添加以下行

jenkins ALL=NOPASSWD:/usr/sbin/openconnect*
jenkins ALL=NOPASSWD:/bin/kill*


您将在Jenkins运行任务中获得一个选项:

Connect to Cisco AnyConnect VPN


也可以在这里找到: / 35151072 /与詹金斯一起部署到vpn / 43357784#43357784