JenkinsはVPNを使用していますか?


7

Jenkinsジョブの実行中にVPNに接続する方法はありますか?(フリースタイルまたはパイプライン、どちらでも使用できます)。

誰かが何かを開発した可能性があると考えてプラグインリストを調べましたが、見つかった唯一のページは、実際のコードが開発されていないこのOpenConnectページだけでした。

私たちは、Ubuntu AWSボックスでJenkinsを実行しています。すべてをVPNで実行するのではなく、1つのジョブで接続と切断を行う機能を希望します。


私は繰り返しますが(OPやこれを見つける可能性のある他の人のために)、まだ見ている場合は実際にこれを行うことができることを繰り返し述べたいと思います。私の答えを見てください。
ZaxLofful

回答:


3

このようなことを達成することは、不可能ではないにしても非常に難しいと思います。

その理由は、Jenkinsを実行しているマシンがVPNに接続されると、接続されていた元のネットワークからも実質的に切断されるため、そのマシンのJenkinsは、残りのJenkinsセットアップとの接続を失うことになります。

機能する唯一の方法は、完全にスタンドアロンの1台のマシンのJenkinsセットアップを使用する場合です。


なんてつらいことですが、それは完全に理にかなっています。ありがとう!
アレックス

これは、このコメントを書いている時点では正確ではありません。また、今までそうだったとも思いません。ただ言っているだけです
ZaxLofful

@ZaxLofful VPNクライアントは、少なくともルーティングテーブルを変更して、ローカルネットワークに到達できないようにします(通常の方法で、「実質的に切断された」という意味です)。したがって、少なくともVPNトラフィックを損なうことなく接続を注意深く復元するために、他のスクリプトを実行する必要があります。また、このスクリプトの介入により、VPNクライアントが元のルーティングテーブルに戻るほどスマートでない場合は、VPNから切断した後も介入する必要があります。ルーティング以外にアドレッシングが必要な場合はいけません。
Dan Cornilescu 2018

@DanCornilescu:繰り返しになりますが、これはデフォルトのアクションではなく、最近のほとんどのVPNクライアントではスプリットトンネリングがデフォルトになっています。ネットワークを迂回することを目的としたコンシューマVPNは機能しませんが、ここではそれについて説明していません。
ZaxLofful 2019

2

jenkinsタスクでVPNを使用する場合は、前述のようにOpenConnectプラグインを使用します。

これを行う手順は次のとおりです。

Linux(debianベース)

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

こちらにもあります:https : //stackoverflow.com/questions/35151072/deploy-with-jenkins-to-vpn/43357784#43357784

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.