我有一个 TeamCity (9.0.2) 构建配置,其中包含以下工件路径模式:
App\Agent\**\bin\%env.Configuration%\** => Deployment\AgentBuildPackage.%env.ApplicationVersion.EMX%.%system.build.number%.zip
这将在名为 Deployment 的工件文件夹中创建一个名为 AgentBuildPackage.4.5.0.185.zip 的文件
当前的结构是这样的:
- 部署/
- AgentBuildPackage.4.5.0.185.zip/
- MyFirstServiceFolder/
- bin/
- 调试|发布/
- 所有文件
artefact 存档包含它在 App\Agent 下找到的所有文件夹,这很棒。我不知道如何展平这些单独的文件夹,使它们不再包含/bin/Release 子文件夹。
我想要的是
- 部署/
- AgentBuildPackage.4.5.0.185.zip/
- MyFirstServiceFolder/
- 所有文件
谁能告诉我怎么做吗?
最佳答案
您可以在 .zip 文件名称后面使用 !
字符来指定目标存档中的目标文件夹。像这样:
folderA\** => output.zip!/afolder/
根据您拥有的服务文件夹数量,这可能会非常冗长,因为您需要为每个文件夹执行此操作,但它应该执行您所描述的操作:
App\Agent\MyFirstServiceFolder\bin\%env.Configuration%\** => Deployment\AgentBuildPackage.%env.ApplicationVersion.EMX%.%system.build.number%.zip!/MyFirstServiceFolder/
如果您还没有看过,这里是有关指定工件路径的文档页面:https://confluence.jetbrains.com/display/TCD9/Configuring+General+Settings#ConfiguringGeneralSettings-PathsPatterns
关于teamcity - 扁平化 TeamCity 工件文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29515730/