web-dev-qa-db-ja.com

wgetまたはcurlを使用してJenkinsからアーティファクトをダウンロードする

DOSバッチスクリプトを使用して、Jenkinsプロジェクトからアーティファクトをダウンロードしようとしています。これが取るに​​足らないことの理由は、私のアーティファクトがJenkinsビルド番号を名前に含むZipファイルであるため、正確なファイル名がわかりません。

私の現在の攻撃計画は、/ getSuccessfulBuild/artifact /を指すwgetを使用して、ある種の再帰的/ミラーダウンロードを行うことです。

次の場合:

wget -r -np -l 1 -A Zip --auth-no-challenge --http-user=**** --http-password=****  http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/

(* sは、SOに投稿するために変更した文字です)

Zipファイルを取得できません。 -A Zipオプションを省略した場合、index.htmlを取得するので、何らかのセッションキャッシュの問題でない限り、認証は機能していると思いますか?

-A Zip応答の一部として受け取ります。

. + 8080/job/MyProject/lastSuccessfulBuild/artifact/index.htmlは拒否されるはずなので削除します。

だから私はそれがそのファイルを削除していて、そのリンクをたどっていないのかどうかわかりませんか?しかし、-A Zip,htmlも機能しません。

私はいくつかのwgetオプションとカールも試しましたが、どこにも行きません。

間違ったwgetオプションがあるかどうか、またはJenkins認証に何か特別なものがあるかどうかはわかりません。

9
Erik

あなたは付け加えられます /*Zip*/desired_archive_name.Zipをアーティファクトの場所の任意のフォルダに。

Zipファイルがジョブがアーカイブする唯一のアーティファクトである場合は、以下を使用できます。

http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/*Zip*/myfile.Zip

どこ myfile.Zipは、ダウンロード可能なアーカイブに割り当てる名前であり、何でもかまいません。

複数のアーティファクトをアーカイブしている場合でも、すべてのアーティファクトのZipファイルを取得し、抽出時に個別のものを処理できます。または、必要なアーティファクトを別のフォルダに配置し、/*Zip*/をそのフォルダに追加します。

6
Slav