Help required with artifact paths (confused)

As a .NET Developer, the Teamcity artifact paths are not very straightforward.

Per project I have (VS2010 solution), I have a folder called BuildTools and, within it,  folders called Drops and Inputs (drops being the reports and outputs  inputs being the config files for various command line apps).

BuildTools/Drops/NDependOut => GenericSolution/Drops/NDepend

Is this correct? BuildTools is from the root of the (custom) checkout  dir, and then GenericSolution is from the root of the artifacts path  (Called "Artifacts" folder).

The other problem I have is that the NDepend report has a lot of  images etc in the same folder as the .html file. How would I upload  this? Do I upload the entire folder (in which case, is the syntax above  correct?) I want to display the .html report as a Teamcity report.


Finally, my build step is a command line app. Am I right in using the%teamcity.projectName% parameter to get the project name - the project name being the name I choose when creating a project (obviously).

/P:"E:\SourceControlledProjects\GenericSolution\GenericSolution\BuildTools\Build.fpb7 /Vprojname=%teamcity.projectName%"



Thanks

6 comments
Comment actions Permalink

Hi

There are two features related to artifacts.
Artifact publishing is started after the build is over. It copies files from build agent and saves them in a build history on TeamCity web server.
This redirection syntax allows to control how artifact hierarchy is visible on the web server. But it does not move any files within the checkout directory.

Artifact dependencies are resolved before a build is started. Using them you can pass files between build configurations, and control where to put them.

0
Comment actions Permalink

If you need to display the images within the report, then you need to publish all the files.
custom reports can be added to additional tab on builв results page.
To improve performance you can pack all of the files into single archive, and set the report to display them from the archive directly.

0
Comment actions Permalink

TeamCity sets a number of predefined build parameters.
If you Ant or MSBuild than all of them are accessible.
In case of command line runner part of the parameters are exported as environment variables.
Look at the second column, required variable is named TEAMCITY_PROJECT_NAME.
Additiona properties can be exported to enviromnent variables manually in build settings.

Michael

0
Comment actions Permalink

Hi,

Thanks for the replies.

I thought that the artifact directory syntax I use, as in my previous post, would mean the folder I specify gets copy and pasted into the artifacts path?

That is what I am trying to do as each artifact is what will be used for reports.

Also, I installed Teamcity with the default agent path (this is on a windows server so under C:\ where the user directory is), and then changed this to a location on another drive. Do I need to copy the agent folder?

That is mentioned here:

http://blog.benhall.me.uk/2008/06/team-city-moving-your-data-directory.html

"What you need to do, is first copy the .BuildServer directory to your  new location, this has all of your settings. Next load a command  property (as administrator) and enter the command:!"

0
Comment actions Permalink

Yes, the syntax is correct, as far as I understand the task.
What results do you get?
Artifact Paths page may be helpful also.

0
Comment actions Permalink

the article talks about data directory, not build agents.
What exactly do you need to move?

0

Please sign in to leave a comment.