Jenkins Artifactoryプラグインがマルチスレッドでダウンロードされない


8

私の会社では、JenkinsのArtifactoryプラグインを使用してダウンロードしようとするのに苦労しています。これは、リポジトリに小さなファイルがたくさんあり、プラグインが1つのスレッドで動作するため、本当に時間がかかるためです。ダウンロード用のスレッド数を設定できるJFrog CLIをテストしましたが、実際にはそれがうまく機能しています。それでも、元のプラグインを使用する必要があります。

これの回避策はありますか?多分それはArtifactoryサーバー構成と関係があるのでしょうか?

:私が心配している会社で開発が行われているため、小さなファイルがたくさんあります。保存する前にすべてのファイルをアーカイブすることを考えましたが、アップロードされたすべてのzipファイルはおそらく異なるチェックサムを持っているため、ストレージの点でおそらく非経済的でしょう。


通常、アーティファクトにアップロードする前にアプリケーションをパッケージ化します。開発プロセスでアーティファクトがどのように使用され、どのプラットフォームまたは言語が使用され、これらのファイルがどのように使用されるのかと思っていました。プロセスの全体像を把握することで、ダウンロードの問題だけに焦点を当てた場合には明白ではない可能性のある解決策を見つけることができます。
ニュートピア

回答:


5

あなたはJenkinsfile構文を使用している場合は、並列にartifactoryファイルのアップロードを実行しようとすることができます:https://github.com/jenkinsci/pipeline-examples/blob/master/pipeline-examples/parallel-from-list/parallelFromList.groovy

以下は、並行して実行したい処理の数が決まっている場合に、並行して実行する簡単な例です。

parallel (
    "task1" : {
        //runTask1
    },
    "task2" : {
        //runTask2
    },
    "task3" : {
        //runTask3
    },
)

これは内に含めることができます。nodeその場合、それらはすべて同じワークスペースを共有するか、各コマンドがnodeタスクコード内で別のノードに実行されるように定義できます。この場合、タスクごとに異なるワークスペースがあります。


こんにちはマイケル!私はファイルのダウンロードとアップロードではなく、より多くのことを話していました。ダウンロードでこれを行った場合、ファイルは単一のワークスペースではなく別のノードに保存されませんか?
Asaf Haim 2017

必ずしもそうではありません、私はいくつかの瞬間にあなたをより良い例を与えるだろう
マイケル・ペレイラ

アーティファクトをダウンロードするとき、アーティファクトの正確な数がわからない(リポジトリ全体をダウンロードするためにant-like構文を使用)
Asaf Haim

その場合は、jenkins.io / doc / pipeline / examples /#jobs-in-parallelを見てください。同じコードを再利用して、ループカウンターをダウンロードする必要がある要素の数に変更し、build job行を置き換えるだけです。アーティファクトからダウンロードするもの
Michael Pereira

しかし、ダウンロードしたファイルの数がわからない場合はどうなりますか?私はすべてのリポジトリを再帰的にダウンロードするために二重のアスタリスク表記(**)を使用しているので、何個あるのかそれらの名前もわかりません。
Asaf Haim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.