TeamCity 2020.2 ヘルプ

ビルドアーティファクト

ビルドアーティファクトは、ビルドによって生成されたファイルです。通常、これらにはディストリビューションパッケージ、WAR ファイル、レポート、ログファイルなどが含まれます。ビルド構成を作成するときは、一般設定を構成するページでビルドのアーティファクトへのパスを指定します。

アーティファクトストレージ

TeamCity には、統合された軽量ビルドアーティファクトリポジトリが含まれています。アーティファクトはサーバーアクセス可能ファイルシステムまたは外部ストレージに保存されます。

ビルドが完了すると、TeamCity は指定されたアーティファクトパスまたはパスパターンに従ってビルドチェックアウトディレクトリでアーティファクトを検索します。一致したファイルは TeamCity サーバーにアップロード(「公開」)され、そこで Web UI からダウンロードできるようになります。または、アーティファクト依存関係を使用して他のビルドで使用することができます。アーティファクトをいつ公開するかを選択できます。完了したすべてのビルド、成功したビルドのみ、またはすべてのビルド(中断されたものも含む)

ビルドのアーティファクトをダウンロードするには、ビルド結果ページのアーティファクトタブに移動するか、プロジェクトまたはビルド構成の概要ページとビルドを一覧表示する TeamCity ページで使用できるアーティファクトアイコン artifactIcon.png を使用します。
アーティファクトがアーカイブとして保存されている場合でも、このアーカイブ内のファイルを参照できます。

ビルドアーティファクトにアクセスするためのパターンのセクションの説明に従って、アーティファクトのダウンロードを自動化することができます。

内蔵ストレージの場合、TeamCity は、直接アクセスできるディレクトリ構造でディスク上のアーティファクトを保持します(たとえば、ネットワークを介してディレクトリを共有するようにオペレーティングシステムを構成することによって)。ストレージ形式は TeamCity データディレクトリで説明されています。アーティファクトは、追加の圧縮なしで「現状のまま」サーバーに保存されます。デフォルトでは、アーティファクトは変更可能な <TeamCity データディレクトリ > / system / artifacts ディレクトリに保存されます。
外部アーティファクトストレージを構成して、組み込みストレージを置き換えることができます。

ビルドアーティファクトは、ビルドの実行中にサーバーにアップロードすることもできます。アーティファクトをアップロードするように TeamCity に指示するには、ビルドスクリプトを変更してサービスメッセージを送信する必要があります。

隠れた遺物

ユーザー定義のアーティファクトに加えて、TeamCity は、内部目的でいくつかのアーティファクトを生成および公開します。これらは隠しアーティファクトと呼ばれます。
例: Maven ビルドの場合、TeamCity は、ビルド中に収集された Maven 固有のデータを含む maven-build-info.xml ファイルを作成します。次に、ファイルのコンテンツを使用して、ビルド結果の Maven ビルド情報タブで Maven データを視覚化します。

  • 非表示のアーティファクトは、ビルドアーティファクトのルートの .teamcity ディレクトリに配置されます。

  • 隠しアーティファクトは、デフォルトではビルド結果のアーティファクトタブに表示されません。ただし、アーティファクトのリストに、非表示のアーティファクトがある場合はそれを表示できるリンクがあります。非表示のアーティファクトが表示されている場合、すべてダウンロードリンクをクリックすると、非表示のアーティファクトを含むすべてのアーティファクトがダウンロードされます。

  • アーティファクトの依存関係は、パターンに明示的に ".teamcity" が含まれていない限り、非表示のアーティファクトをダウンロードしません。

  • パターンで .teamcity が明示的に指定されていない限り、非表示のアーティファクトはアーティファクトクリーンアップによって削除されません。

非表示にするために、.teamcity ディレクトリにいくつかのビルドアーティファクトを公開するように設定できます。

隠されたアーティファクトのいくつかは以下のとおりです。

  • maven-build-info.xml.gz — Maven ビルドデータ。Maven ビルド情報ビルドのタブにデータを表示するために使用されます。

  • properties ディレクトリ — エージェントでのビルド用に計算されたプロパティを保持します。ビルド前とビルド後に実際のプロパティがあります。これらは、ビルドプロパティタブに表示されます。

  • .NETCoverage — 生の .NET カバレッジデータ(たとえば、VS アドインで dotCover データを開くために使用されます)。

  • coverage_idea — 生の IntelliJ IDEA カバレッジデータ(たとえば、IDEA でカバレッジを開くために使用されます)。

エージェント上のアーティファクトキャッシュ

ビルドによって公開されたすべてのアーティファクトは、<Build Agent home>\system\.artifacts_cache ディレクトリのエージェントのアーティファクトキャッシュに保存されます。これにより、場合によってはアーティファクトの依存関係が高速化されます。
ただし、アーティファクトのサイズ、clean-up、その他の設定によっては、アーティファクトのキャッシュによってエージェントのディスク容量が少なくなる場合があります。公開されたアーティファクトをエージェントキャッシュに保存するように設定できます。