How are others getting getting assembly dependencies?

I have projects that are dependent on other project assemblies in other repositories and the build fails because I can't get TeamCity to get these dependencies. Is anyone else doing this?

9 comments
Comment actions Permalink

I'm not sure I understand your question. Are you trying to pull from another Teamcity server, or from an Ivy repository someplace, or something different from these?

I know that you can use Teamcity as an Ivy repository for the artifacts it builds, and there's documentation of how to do it in either the Confuence docs or this forum. Authentication is required, and I'm not sure if the guest login can be used for this. HTH.

0
Comment actions Permalink

I looked at the ivy docs but I'm still unclear whether it was meant for what I'm trying to do.

My project build requires assemblies from other projects in other repositories. So I am trying to determine if TeamCity would actually be able to use compiled assemblies from other builds to be used in other builds?

0
Comment actions Permalink

What sort of "other repositories"? A separate Teamcity server, or something else?

What sort of applications are you building: Java, .Net, or a different technology?

0
Comment actions Permalink

I figured out how to use artifacts.

Now I'm trying to figure out how to get TC to access 3rd party assemblies on a shared drive that are not in a TC build. The machine TC sits on has access to the shared drive but when it builds the project with the reference it fails with missing assembly reference. Can I not reference assemblies that are not built by TC?

0
Comment actions Permalink

Something occurred to me: is your Teamcity running as a service on a Windows machine? If so, it may not have access to the shared drive even though you would have that access if you logged into the machine and looked at Network Neighborhood or did a net view
machinename from the command line. Someone who isn't me would be better at telling you how to fix the issue if that is the case.

Can you set a verbose flag on the Teamcity build, to see if you can get more details in the output? If you can find the spot where it is supposed to be retrieving the assembly, you might see exactly where it is looking or what the failure message is.

0
Comment actions Permalink

Ah, yes it is running as a service. That is probably the case although I can try and set detailed output. TC service is using a domain login account though so I would think it should be able to access any shared network. Anyone have any ideas?

0
Comment actions Permalink

Can you create a very simple build that just tries to go out and fetch the dependencies 9without actually building anything), and probably runs a command along the way to dump out all of its environment variables? That might help you see something amiss.

0
Comment actions Permalink

How would I do that without building anything?

0
Comment actions Permalink

Check in a simple batch file (I'm guessing you're running everything on Windows) like this

-


@echo on

REM show the environment variables
set

REM show the mapped drives
net use

REM copy files from repo to working directory
copy .
-



Create a configuration that runs this via the command-line runner and make the files you copied from the remote location the artifacts so you can verify them if they come over. Assuming it fails, you should get some idea of what it's trying to do and be able to fix it, and then apply the same sort of fix to your real build.

0

Please sign in to leave a comment.