Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Automated Builds in Team Foundation Server

I am setting up an automated build for my solution. However, I get errors regarding failures in copying certain information to certain folders. This pertains to build events that each project in my solution has.

What I was wondering is if there was a way to "turn off" the individual build events in the projects, or if there is a parameter to set somewhere that turns these build events off?

The automated build I have set up already does what the individual project build events are supposed to do, and so it is trying to repeat itself and is causing problems. I still need the build events to be associated with the projects because when they're running outside of the development environment, they need to occur for the application to function properly (the build events have to do with dynamically updating information).

Long story short, is there a way to turn off the builds that are associated with each individual project in my solution without actually deleting them? I need them to be there, I just need them to be "invisible" so-to-speak while I'm running the automated builds in the development environment.

I apologize for the verbosity and for the vagueness of everything, it is difficult to explain things sometimes without giving away too much.

EDIT: Not so much an edit as it is additional information for clarity, but nevertheless. The basic goal I am trying to accomplish is to disable the "post builds" that are associated with each of the projects in my solution. I want to keep them, just disable them while I'm running them through the in-house automated builds/tests

like image 737
AmbiguousX Avatar asked Dec 17 '10 18:12

AmbiguousX


People also ask

What is Team Foundation build?

Connecting TFS Preview to Team Foundation Build Service To automate builds of your software projects, you use Team Foundation Build Service to create a build machine that runs either on-premises or in a hosted scenario.

What is build controller in TFS?

It distributes processor-intensive work: for example, compiling code or running tests, etc., to the build agents. Each build controller is dedicated to a single team project collection. Ensure that the following requirements are met: Installed the supported components on your computer.

What is Microsoft Team Foundation Server used for?

Team Foundation Server (Microsoft TFS) helps manage teams and their code. It's because TFS offers a combo of version control, issue tracking, and application lifecycle management.


2 Answers

After loads of research on the "BuildingInsideVisualStudio" property, and lots of tweaking to get the syntax right, my team and I found what we were looking for.

We inserted the statement

if '$(BuildingInsideVisualStudio)' == 'true' <executed code>

format in the "Post-Build event Command Line" section under the project's properties > Build Events tab.

like image 188
AmbiguousX Avatar answered Nov 16 '22 00:11

AmbiguousX


Some post-build script code like this should work:

if "$(BuildingInsideVisualStudio)"=="" (
    @echo TFS build
) else (
    @echo Visual Studio build
)

Place your existing code in the appropriate block depending on if you want it to run only in VS builds, or only in TFS builds

like image 29
Jorgen Thelin Avatar answered Nov 15 '22 23:11

Jorgen Thelin