15

TeamCity アーティファクト構成でワイルドカード構文を使用した小さなドラマがあります。パターン myproject.*.dll に一致するすべてのファイルを任意のフォルダーから取得し、各 DLL をアーティファクト パスのルートに配置したいと考えています。

これが私が現在持っているものです:

**/obj/Debug/myproject.*.dll => /

これはすべての DLL を取得していますが、それらをソースと同じフォルダー構造内に配置しているため、アーティファクトで「myproject.web.dll」になるのではなく、「Web/obj/debug/myproject.web.dll」を取得します。

ここで何が欠けていますか?

4

2 に答える 2

16

簡単な方法でこれを行うことはできません。*.dll をローカルで 1 つの場所に収集し、TeamCity の成果物ルールを使用してそれらすべてをルート ディレクトリにコピーする必要があります。

または、すべてのパスを手動で入力することもできます (** 部分なし)。

これが TC での動作です。

于 2011-03-05T07:06:21.367 に答える
4

構造をコピーせずに成果物ルートを使用できるかどうかはわかりません。ドキュメントが指定する

ターゲット ディレクトリが省略されている場合、ファイルはビルド アーティファクトのルートに公開されます。

dist などの指定されたフォルダー名を使用することはできません。これにより問題が発生しますか? もしそうなら、彼らは何ですか!

例えば

**/obj/Debug/myproject.*.dll => dist

更新 - ドキュメントでさらに情報を見つけました

ファイルは、ワイルドカードに一致するディレクトリの構造を保持して公開されます (「静的」テキストに一致するディレクトリは作成されません)。つまり、TeamCity は、パターン内のワイルドカードの最初の出現から始まるディレクトリを作成します。

したがって、より明確に表現できれば、よりフラットな構造につながる可能性があります。

于 2011-03-04T23:32:23.850 に答える