15

我使用 Teamcity 构建不同的包,并希望将这些包保存为工件。我在 TeamCity 中的工件路径如下:

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

现在,TeamCity 在正确构建后会在任何发布目录中收集所有 WSP 文件。但它被保存,包括所有子目录,如:

如何提供文件

我只想要 .wsp-File 直接在“解决方案”下,没有目录树。

4

3 回答 3

7

来自 TeamCity 文档:

通配符——发布匹配 Ant 类通配符模式的文件(仅支持“”和“*”通配符)。通配符应该代表相对于构建检出目录的路径。文件将被发布,保留通配符匹配的目录结构(不会创建与“静态”文本匹配的目录)。也就是说,TeamCity 将从模式中第一次出现通配符开始创建目录。

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

在您的构建脚本(或额外的最终构建步骤)中,您必须将必要的文件复制到单个文件夹并将该文件夹发布为工件

于 2011-10-26T16:21:53.340 回答
4

而不是像@manojlds 建议的那样进行复制,您可以通过修改您的 .csproj 文件中的 OutputPath 来实现某些目标,或者在构建 .sln 时输入 OutDir 属性覆盖(如果您是的话)。请注意,这些方法都不是完美的 - 例如,TeamBuild(Visual Studio ALM Tooling 中的 CI 服务器)将所有内容重定向到一个目录,这可能会导致完全混乱,并且仅适用于最简单的情况。

于 2011-10-29T07:30:27.377 回答
4

我有这个问题,我想从子目录中收集各种安装文件。添加 PowerShell 运行器作为构建步骤非常强大,并且很好地解决了这个问题......

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

这将在 TeamCity 查看工件之前将它们移动到根目录,其中基本的工件路径*.wsp可以将其拾取以用于最终输出。

于 2015-06-12T07:15:21.553 回答