gpt4 book ai didi

teamcity - 在创建工件时,如何让 TeamCity 扁平化目录

转载 作者:行者123 更新时间:2023-12-04 15:49:05 26 4
gpt4 key购买 nike

我们正在使用 TeamCity 5.0 使用 sln2008 构建运行器构建 C# 解决方案。我们有多个生成 exe 文件的项目。我们想使用 TeamCity 的工件功能来展平所有目录。我们希望所有文件都进入一个没有子文件夹的文件夹,无论它来自哪个文件夹。 TeamCity 在创建工件时保留目录层次结构。

我们的工件是使用创建的

**\bin\Release\*.*=>PublishedFiles

我们得到的是
  • PublishedFiles\FooProject\bin\Release\Foo.exe
  • PublishedFiles\BarProject\bin\Release\Bar.exe

  • 我们想要的是
  • PublishedFiles\Foo.exe
  • PublishedFiles\Bar.exe

  • 编辑

    TeamCity 5.1 将使我们更接近。

    图案
    SomeLibrary\bin\Release\*.dll => PublishedFiles

    会得到我们
  • PublishedFiles\SomeLibrary.dll
  • PublishedFiles\SomeDependency.dll


  • **\bin\Release\*.dll => PublishedFiles

    仍然会保留我们不想要的结构。

    目前我们使用 MSBuild 来扁平化结构,然后使用 TeamCity 对其进行存档。跳过 MSBuild 部分会很好。

    最佳答案

    来自 TeamCity 2019.1 Documentation :

    The files will be published preserving the structure of the directories matched by the wildcard (directories matched by "static" text will not be created). That is, TeamCity will create directories starting from the first occurrence of the wildcard in the pattern.





    The optional part starting with the => symbols and followed by the target directory name can be used to publish the files into the specified target directory. If the target directory is omitted, the files are published in the root of the build artifacts. You can use "." (dot) as a reference to the build checkout directory. The target paths cannot be absolute. Non-relative paths will produce errors during the build.



    这里有两个关键点:
  • 如果在源说明符中使用通配符,TeamCity 将保留规范中第一个通配符的目录结构。使用您的示例 SomeLibrary\bin\Release\*.dll不保留目录结构,因为单独的通配符仅指定文件,而 **\bin\Release\*.dll将保留目录结构,因为第一个通配符将匹配目录
  • 如果您省略目标目录(只需使用 => ),则任何找到的具有保留目录结构的工件都将放置在工件树的根目录下。使用您的示例 SomeLibrary\bin\Release\*.dll =>会场SomeLibrary.dllSomeDependency.dll在工件树的根部,而 **\bin\Release\*.dll =>将两个文件放在文件夹SomeLibrary\bin\Release中在工件树的根下。
  • 关于teamcity - 在创建工件时,如何让 TeamCity 扁平化目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2393425/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com