Redeemed1
Redeemed1

Reputation: 4010

Flattening TeamCity artefacts folder structure

I have a TeamCity (9.0.2) build configuration which contains the following artefact path pattern:

App\Agent\**\bin\%env.Configuration%\** => Deployment\AgentBuildPackage.%env.ApplicationVersion.EMX%.%system.build.number%.zip

which will create a file named something like AgentBuildPackage.4.5.0.185.zip in an artefact folder named Deployment

The current structure is like this:

The artefact archive contains all the folders it finds under App\Agent which is great. What I can't figure out is how to flatten those individual folders so they no longer contain the /bin/Release sub-folders.

What I want is

Can anyone tell me how please?

Upvotes: 3

Views: 1165

Answers (1)

CoderDennis
CoderDennis

Reputation: 13837

You can specify target folders within your target archive by using the ! character after the name of the .zip file. Like this:

folderA\** => output.zip!/afolder/

Depending on how many service folders you have, this could be quite verbose, as you'll need to do it for each one, but it should do what you've described:

App\Agent\MyFirstServiceFolder\bin\%env.Configuration%\** => Deployment\AgentBuildPackage.%env.ApplicationVersion.EMX%.%system.build.number%.zip!/MyFirstServiceFolder/

Here's the documentation page on specifying artifact paths if you haven't seen it yet: https://confluence.jetbrains.com/display/TCD9/Configuring+General+Settings#ConfiguringGeneralSettings-PathsPatterns

Upvotes: 3

Related Questions