2017-01-30 4 views
0

私のチームはJenkinsでコードをビルドしてテストしており、ビルドプロセスが完了するとJenkinsはSNAPSHOT.jarファイルを生成します。私は、snapshot.jarファイルを解凍し、抽出したファイルとフォルダをネットワークドライブに送る必要があります。それをする最善の方法は何ですか?Jenkinsからネットワークドライブにアーチファクトファイル(SNAPSHOT.jar)を抽出してエクスポートする方法

私はいくつかのJenkinsプラグインを試しました。最も最近のものはartifactDeployerですが、プラグインがポストビルドアクションとしてアーティファクトをデプロイするとき、jarファイルをアンパックしません。私はそれらを解凍するために展開された後にWindowsのバッチコマンドを実行する必要がありますが、プラグインは "ビルド後のアクション"として実行され、バッチコマンドはビルド後のアクションの前に実行されるため、成果物を展開し、プラグインを使用せずに解凍する方法はありますか?または両方を行うプラグインがありますか?これを達成する最良の方法は何ですか?

+0

シンプルに、適切なネットワークドライブ/パスをマウントするビルドシステムにマウントし、その領域にコピーすることができます.... – khmarbaise

+0

Sambaマウントは、ファイルを送信する前にsnapshot.jarからファイルを抽出できますか? – EXC3ll3NTrhyTHM

+0

あなたはサンバマウントが何であるか理解していません...それは瓶で何かできません...あなたはそのようなことをスクリプトで書くことができます... – khmarbaise

答えて

0

これを実現する方法は、Windowsのバッチコマンドで7zipをjenkinsプロジェクト設定のポストステップとして使用することでした。

コマンドは次のとおりです。

`7z x %WORKSPACE%\target\*.jar -oX:\"mapped network drive location" -y` 

これはSNAPSHOT.jarにファイルのうち、成果物を抽出し、ネットワークドライブにそれらの成果物を配置します。ビルドが完了したら、snapshot.jarに含まれるファイルをネットワークドライブに送る必要がありました。私はジェンキンズには新しく、試したプラグインはビルド後のアクションであり、snapshot.jarを特定の場所にコピーしただけです。彼らはjarファイルからアーティファクトを抽出しませんでした。それが私がこのルートを選んだ理由です。

関連する問題