Artifacts directory, how to specify and what goes there?

I find little doc on the artifacts directory. I'm assuming this is the checkout build it ran zipped up somehow. I'm running Vista and my TeamCity directory is c:\TeamCity. I tried specifying artifacts directory as c:\PetersArtifacts but that does not work. Below are my settings.

Also, should the solution be referenced like I am referencing? that is directly to that location on the hard disk? I want the solution to be pulled from source control, not from my local hard disk.

General settings edit »
Name: TeamCityTest
Description: This is The Team City Test Project With Unit Test
Build number format: , next build number: #12
Clean all files before build: ON
Maximum number of simultaneously running builds: unlimited
Fail build if at least one test failed: ON
Execution timeout: disabled
Status widget: disabled
Version control settings edit »
VCS checkout mode: Automatically on server
Checkout directory:
VCS labeling: disabled
Attached VCS roots:
Name Checkout rules Set label
TeamCityTest not specified NO

Runner: sln2008 edit »
Type of runner: sln2008 (Runner for Microsoft Visual Studio 2008 solution files)
Artifact paths: c:\peterartifacts
Solution file path: C:\Users\pkellner\Documents\VSProjects\TeamCityTest\Proj1\Proj1.sln
Targets: Rebuild
Configuration: Release
Platform: default
Run NUnit/VSTS Unit tests for: none specified
Ignore NUnit/VSTS Unit tests for: none specified
Build triggering edit »
Build configuration is active (triggering enabled).
Trigger build by vcs check-in: OFF
Start new build if last build is failed: OFF
Triggering by time: not configured
This configuration depends on: not configured
Artifact dependencies edit »
There are no artifact dependencies
Properties and environment variables edit »
System properties: none defined
Environment variables: none defined
Agent requirements edit »
Requirements for system properties:
DotNetFramework2.0 exists
DotNetFramework3.5 exists
Requirements for environment variables: none defined

7 comments

Hi Peter,

The description of the Artifacts Path is available at:

http://www.jetbrains.net/confluence/display/TCD3/Build+Artifact

It should be used if you want to get access to files produced by your build from TeamCity's UI ( or from another TeamCity build)

Regards,
KIR

0

Peter,

Unless you have some special intent, you should probably use relative paths in the build configuration settings.

All the paths (path to .sln, artifact path) should usually be relative to the build checkout directory.

The checkout directory is the directory where all the sources (configured as VCS roots) are placed by the TeamCity. Provided the .sln file is part of the sources (as it usually is), path to the .sln is relative from the checkout directory. So it will be something like "Proj1\Proj1.sln" or just "Proj1.sln" if it is placed in the topmost sources folder.

The build artifacts are the file you want to publish as the results of your build. If the build generates it's output in the folder named "output", you can just set "output" as your artifacts path.

Hope, this helps.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

OK, I understand how the solution file works with the relative path.

I'm still confused on the Artifacts.

My config is this, and I still get the artifacts directory error.


Type of runner: sln2008 (Runner for Microsoft Visual Studio 2008 solution files)
Artifact paths: Proj/WindowsFormsApplication1/bin/Release
Solution file path: Proj1/Proj1.sln
Targets: Rebuild
Configuration: Release
Platform: default
Run NUnit/VSTS Unit tests for: none specified
Ignore NUnit/VSTS Unit tests for: none specified




20:37:26]: Publishing artifacts (<1s)[20:37:26]: Will process paths: [20:37:26]: Publishing artifacts 'Proj/WindowsFormsApplication1/bin/Release' to root artifacts directory[20:37:26]: Artifacts path Proj/WindowsFormsApplication1/bin/Release not found[20:37:26]: Publishing artifacts 'teamcity-info.xml' to root artifacts directory[20:37:26]: Artifacts path teamcity-info.xml not found[20:37:26]: Build finished

0

Peter,

Can you please check your agent - do you have the directory
Proj/WindowsFormsApplication1/bin/Release
under your build checkout directory (this is noted in the first lines of the build log)?

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

this is the directory I have created:

C:\TeamCity\buildAgent\work\MyTS\Proj1\TestProject1\bin\Release

My checkout directory: Checkout directory: MyTS

0

I just realized I had called it proj instead of proj1. It now succeeded but with this error below. So, where does it put the artifacts directory?

Process exit code: 0[23:32:16]: Publishing artifacts (<1s)[23:32:16]: Will process paths: [23:32:16]: Publishing artifacts 'Proj1/WindowsFormsApplication1/bin/Release' to root artifacts directory[23:32:16]: Publishing artifacts 'teamcity-info.xml' to root artifacts directory[23:32:16]: Artifacts path teamcity-info.xml not found[23:32:17]: Build finished

0

Peter,

The output you included is OK. There is no error. teamcity-info.xml is an optional file that you can use to set build status/custom statistic values form the build script.

So, where does it put the artifacts directory?

Not quite sure what you mean. The build artifacts are uploaded to the server and then can be retrieved from the web UI: there is a tab on the build results. Physical location of the build artifacts is ]]>\system\artifacts\Project_name\Build_Configuarion_name\internal_build_id
But usually there is no need to access the physical folder directly.


--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Please sign in to leave a comment.