15

Teamcity を使用してさまざまなパッケージをビルドし、それらのパッケージをアーティファクトとして保存したいと考えています。TeamCity のアーティファクト パスは次のとおりです。

%system.teamcity.build.workingDir%\**\Release**/*.wsp => Solution 

これで、TeamCity は、正しくビルドした後、リリース ディレクトリ内のすべての WSP ファイルを収集します。ただし、次のようなすべてのサブディレクトリを含めて保存されます。

ファイルの提供方法

ディレクトリツリーなしで「ソリューション」の直下にある.wspファイルのみが必要です。

4

3 に答える 3

7

TeamCity ドキュメントから:

wildcard — Ant のようなワイルドカード パターンに一致するファイルを公開します ("" および "*" ワイルドカードのみがサポートされています)。ワイルドカードは、ビルド チェックアウト ディレクトリへの相対パスを表す必要があります。ファイルは、ワイルドカードに一致するディレクトリの構造を保持して公開されます (「静的」テキストに一致するディレクトリは作成されません) 。つまり、TeamCity は、パターン内のワイルドカードの最初の出現から始まるディレクトリを作成します。

http://confluence.jetbrains.net/display/TCD65/Configuring+General+Settings#ConfiguringGeneralSettings-artifactPaths

ビルド スクリプト (または追加の最終ビルド ステップ) で、必要なファイルを 1 つのフォルダーにコピーし、そのフォルダーを Artifacts として公開する必要があります。

于 2011-10-26T16:21:53.340 に答える
4

@manojldsが示唆するようにコピーする代わりに、yout .csprojファイルのOutputPathを変更するか、.slnをビルドするときにOutDirプロパティオーバーライドをフィードすることで何かを達成できる場合があります(ある場合)。これらのアプローチはどちらも完璧ではないことに注意してください。たとえば、TeamBuild(Visual Studio ALM ToolingのCIサーバー)はすべてを1つのディレクトリにリダイレクトします。これにより、完全な混乱が発生し、最も単純な場合にのみ機能します。

于 2011-10-29T07:30:27.377 に答える
4

サブディレクトリからさまざまなインストールファイルを収集したいというこの問題がありました。ビルドステップとして PowerShell ランナーを追加することは非常に強力で、これをうまく解決します...

get-childitem -Recurse -Include *.wsp | Move-Item -destination .

これにより、TeamCity がアーティファクトを確認する前にルートに移動し、基本的なアーティファクト パス*.wspが最終出力のためにそれを取得できます。

于 2015-06-12T07:15:21.553 に答える