Question

I am currently setting up a TFS 2013 build server.

I have several different applications, with some common code shared. When a check-in happens on one of the shared libraries, I want TFS to automatically build, and place it in another directory under Source Control.

The build server currently builds the DLLs, but I can not get them to move into a source controlled folder.

EX:

Source Control

  • Sprint X

      - App 1
      - App 2
      - Common Libraries
            * Utilities
      - DLLs
    

When someone checks in a change in Utilities, it should compile the DLL and move it to "DLLs". When a person gets latest, they are in the DLL folder.

Any help would be appreciated

Was it helpful?

Solution

Its usually best to use NuGet for this scenario. However, to answer your question, you need to do the following

Add the folder path of the shared DLL in the workspace of each of the client builds and set the client builds to be triggered for Continuous Integration. This way, when anyone check-in the file in the shared DLL folder, a build would be triggered for each of the clients.

The second it is to check-in the updated DLL in the shraed DLL folder every time the DLL is built. You will need to modify your build workflow so as to

1) Checkout the DLL files 2) Copy the DLL from output path to the shared DLL folder 3) Checkin the DLL file

You can use the TFS Build Extensions (http://tfsbuildextensions.codeplex.com) library to achieve all of above. Steps (1) and (3) can be executed using the TFSSource activity step (2) can be done using the File activity.

hope it helps

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top