0

lastFailedBuild現在、ブラウザにpng(ページエラーのキャプチャ)を表示するためにURLを使用しています(ジェンキンスレポート):http ://-jenkins-/job/jobName/lastFailedBuild/artifact/screenshots/Fail1.png/

しかし問題は、conf で設定した最大ビルドと同じ数のアーティファクトを保存できることです。そのため、ビルドごとにアーティファクトを保持したいと思います。すでに実行できますが、URL にはビルド番号が含まれています (ビルド番号を取得するためにパスを操作することは避けたいと思います)。jenkins エイリアス、プラグインはありますか、それともワイルドカードを使用できますか?

ビルド番号を返す currentBuild のようなエイリアスを持つことは完璧です (そして簡単です)。「現在のビルド」とは、最後のビルド レポートではなく、私が見ているビルド レポートの数を指すことを意味します。

また、アーティファクトは物理的にどこに保管されていますか? つまり、ファイルがワークスペース内のどこに保存されているかはわかっていますが、アーティファクトの場合、URL が表示され/job/ます。ジェンキンス サーバーのアーティファクトを含むフォルダーはどこですか? ワークスペース内のファイルへの一種のシンボリック リンクですか?

新しいビルドの前に (ワークスペース内の) イメージを削除すると、以前のアーティファクトは保持されますか? PNG画像を上書きするとアーティファクトが保持されるため、はいだと思います(私には思えます)。

このトピック :ジェンキンス アーティファクト URL のエイリアシングでは、私の質問には答えられないと思います。

詳細:

ここに私の現在のレポートhttp ://-jenkins-/job/JDN/55/artifact/screenshots/Fail1.png/があります。ここで、ビルド レポート #55 を使用しhttp ://-jenkins-/job/JDN/50/artifact/screenshots/Fail1.png/ているか、ビルド レポート #50を使用しているかを参照したいと思います。

スクリプトで最後の番号のビルドを探すこともできますが、少し重いです。lastFailedBuild、lastSuccessfulBuild エイリアスのように、Jenkins がそれを管理しているかどうかを知りたいです。-> 観察されたレポートのアーティファクトを参照するエイリアス。-> 次のようになります。http ://-jenkins-/job/JDN/currentReportNumber/artifact/screenshots/Fail1.png/

4

2 に答える 2

1

へのパーマリンクがあります/lastBuild。これは、「現在のビルド」の意味だと思います

任意のパーマリンクに追加/buildNumberして、ビルド番号の値だけを取得することもできます。たとえば/lastBuild/buildNumber、 は最後に実行されたビルド/lastFailedBuild/buildNumberの数値を返し、 は最後に失敗したビルドの数値を返します。

物理的には、アーティファクトは .xml と一緒にサーバーに保存されますWORKSPACE$JENKINS_HOME(またはWindows の場合) の下%JENKINS_HOME%で、 を探します/jobs/<jobname>。- config.xml (ジョブ構成) - nextBuildNumber (次のビルド番号が含まれています
。これを変更しないでください) - ワークスペース フォルダー (これはWORKSPACEビルド中に Jenkins が使用するジョブです - ビルド フォルダー (これはビルドの履歴です)保持されているすべてのビルド)

フォルダーを開くbuildsと、パーマリンクを表すシンボリックリンク ( など) を含む、保存されたすべてのビルドが (タイムスタンプ付きのフォルダーに) 表示されますlastFailedBuild。各タイムスタンプ付きフォルダーの下に、フォルダーが表示されarchiveます。これは、アーカイブされたアーティファクトが保存される場所です。

WORKSPACEURL を使用してファイルにアクセスするにはhttp://<jenkins-url>/job/<job-name>/ws/<path-to-files>

于 2014-05-23T13:44:15.923 に答える
0

Jenkins には、使用できる変数のリストがあります。Jenkins Set Environment Variablesを参照してください。そのため、ジョブによって起動されたシェル スクリプトでは、次のようになります。ビルド番号を表示しecho $BUILD_NUMBERて使用できます。または BUILD_URL を直接使用します。

それを使用して、各ビルドの特定の URL を取得しました。

于 2014-06-26T09:47:15.667 に答える