現在、Jenkins Pipelineの改良に取り組んでいます。しかし、実際には、Jenkinsのインスタンスは多くの人やプロジェクトで頻繁に使用されているため、公開されたポートマッピングが既に使用されているという問題にぶつかってきました。Jenkinsパイプラインライブラリで使用されていないポートを見つけよう
私の考えは、この問題を回避するために、ホストマシン上の未使用ポートを特定することです。これを行うために、私はJenkinsを拡張して、ホストシステムから未使用の最初のポートを確認して返す簡単な方法でライブラリを共有したいと考えています。
どのようにこれを達成するアイデアはありますか?
私の現在の解決策は、何とかnetstatツールを使用するシェル関数を利用することです。
ファイル:ServerSocket
を使用してgetRandomFreePort.groovy
def call() {
sh '''
#!/bin/bash
while
[[!-z $CHECK]]; do
PORT = $(((RANDOM % 60000) + 1025))
CHECK = $(sudo netstat - ap | grep $PORT)
done
echo $PORT
'''
}