1. ホーム
  2. continuous-integration

[解決済み] Jenkinsのアーティファクトをアーカイブする

2022-06-17 05:52:33

質問

の考え方について、どなたか教えてください。 アーティファクト という考えを説明していただけませんか?

私は、コンパイルするコードをチェックアウトし、antスクリプトなどを実行するworkspaceディレクトリを持っています。最後に、私の場合、インストールする準備ができた jar ファイルが得られます。これはアーティファクトとみなされるのでしょうか?

jar ファイルを置くようにビルドスクリプトに指示する必要がありますか?ワークスペース ディレクトリに置くのでしょうか。私の jar ファイルは、以下のような変数によってユニークなファイル名を取得します。 BUILD_ID などの変数によって一意なファイル名になりますが、どのようにJenkinsにどのjarファイルを選択するように指示すればよいのでしょうか?

EDIT。 さて、それで私はこのようなことをやってみました。

ビルドスクリプトが作成することになっているので、パスはまだワークスペースに存在しませんし、当然ながら .jar.properties のファイルはまだ生成されていないため、存在しません。ではなぜエラーになるのでしょうか?何か見落としているような気がするのですが。

また、Jenkins は各ビルド後に成果物を削除しますか (アーカイブされた成果物ではなく、それらを削除するよう指示できることは知っています)。そうでなければ、ハードドライブがかなり速く詰まるでしょう。

どのように解決するのですか?

あなたの理解は正しいです。Jenkinsの意味でのアーティファクトとは、ビルドの結果、つまりビルドプロセスの意図した出力のことです。

一般的な慣習として、ビルドの結果を build , target または bin ディレクトリを作成します。

Jenkins アーカイバはグロブ ( target/*.jar ) を使って、ビルドごとに一意な名前をつけていても、簡単に正しいファイルをピックアップすることができます。