web-dev-qa-db-ja.com

TeamCityがアーティファクトの依存関係を抽出する

別のビルドステップにArtifact DependencyがあるTeamcityにビルドステップを作成しようとしています。

前のビルドステップのアーティファクトは、.Zipファイルとして利用できます。

ビルドステップはアーティファクトを取得でき、アーティファクトは次の場所にダウンロードされます。

C:\BuildAgent\work\27f84e3eca3a33d5\artifactdir\artifacts.Zip

明らかに、.Zipファイルはあまり役に立たないので、ビルドステップがビルドファイルにアクセスできるように、これらを解凍する必要があります。

TeamCityにアーティファクトを解凍させるにはどうすればよいですか?

23
reach4thelasers

アーティファクト依存関係のアーティファクトルールを使用して、依存関係の一部として使用するアーティファクトの要素を指定できますアーカイブからの抽出を含む。アーティファクトルールの構文は次のとおりです。

[+:|-:] SourcePath [!ArchivePath] [=> DestinationPath]

アーカイブパスは、ここで特に関心のある要素です。例を使用すると、アーティファクトルールは次のようになります。

artifacts.Zip!** => artifactdir

これにより、artifacts.Zipアーティファクトのすべてのコンテンツが抽出され、チェックアウトディレクトリのルートにあるartifactdirディレクトリに配置されます。

ArchivePathは、ダウンロードされた圧縮アーティファクトを抽出するために使用されます。 Zip、7-Zip、jar、tar、およびtar.gzがサポートされています。 ArchivePathは、SourcePathの一般的な規則に従います。antのようなワイルドカードが許可され、アーカイブ内で一致したファイルは、最初のワイルドカードの一致に対応するディレクトリに配置されます(宛先パスに対して)。例:release.Zip!*。dllコマンドはrelease.Zipアーティファクトのルートにあるすべての.dllファイルを抽出します。

TeamCity Artifact Dependencyの完全なドキュメントを見つけることができます ここ

11
Drew Grubb