65.9K
CodeProject is changing. Read more.
Home

How to Work with TFS

Oct 30, 2011

CPOL

3 min read

viewsIcon

46565

TFS Build agent, Build definition, TFS Build Custom Task

Introduction

In this article, we will see how to create TFS build Custom task.

In this example, I want to execute my own custom task which will write some text into event viewer as “My Custom Task is executed” & this custom task has to be executed after TFS build succeeds.

To proceed on, we have to handle the below step:

  1. Create class library to handle “Custom Task”
  2. Create “TFS Build Agent”
  3. Create “New Build definition”
  4. Run TFS build

Step 1 – Custom Task

Writes text into event viewer after TFS build succeeds. This is to be implemented in Class Library.

  1. First create Class Library & name it as “MySample
  2. Add a class called MyTask and add the following references to the library:
    1. Microsoft.Build.Framework
    2. Microsoft.Build.Utilities
    3. System.Diagnostics
  3. Now inherit the class “TASK” as shown below:
     public class MyTask : Task
        {
            public override bool Execute()
            {
                EventLog log = new EventLog();
                log.Source = “Application”;
                log.WriteEntry(”Step 2 Executed”);
                return true;
            }
     }

    Note: In the above code, we are overriding execute method & implementing our own implementation.

  4. Now compile it and as usual, it will generate MySample.dll.

Step 2 – Create TFS Build Agent

Before working on TFS build definition, we need to have TFS build agent.

Let’s follow the below steps to create a build agent:

  1. Connect to TFS Server from Team Explorer.
  2. Right click on Build folder & select “Manage Build Agent”.

    1.jpg

  3. Now click on “New” button in build agent window & provide below necessary information:

    2.jpg

    • Display Name: of your choice
    • Computer Name: TFS Server name
    • Communications port: TFS server port
    • Working directory: TFS build will create build files at this location. So provide path of TFS server physical path
    • Agent Status: Enabled
  4. Now Click “Ok” button

Step 3 – Create TFS Build Definition

  1. Connect to TFS Server from Team Explorer
  2. Right click on Build folder & select “New Build Definition”

    3.jpg

  3. A new window will open up as shown below:

    4.jpg

    • General – Build definition name: Enter build definition name
  4. Select workspace

    5_small.jpg

    • Status: Active
    • Source Control Folder: TFS server path project
  5. Select “Project file”, click create button:

    6_small.jpg

  6. MSBuild Project file creation wizard will open up. In this, select the item as shown below:

    7.jpg

  7. Click next and leave other options as is & click FINISH button.
  8. Leave retention policy section as it is.

    8_small.jpg

  9. Now select Build Defaults
    1. Build Agent: Should select build agent name that we have created in Step 2 – Create TFS Build Agent
    2. Builds will be staged: should provide shared path which TFS server has access
  10. Trigger section allows to configure TFS build to run at those intervals
  11. Finally click ok button

Step 4 – Run TFS Build

  1. Connect to TFS Server from Team Explorer
  2. Expand Build folder & right build definition name which you want to run. In our case, right click “MyTestBuildDefinition” & select Queue new build definition

    11.jpg

  3. Select as shown below:
    1. Build Definition name
    2. Build Agent name
    3. Drop folder
    4. Priority

    12.jpg

  4. Now by this time, build definition would be started up & know the processing right click on build definition name & select open.

    13.jpg

  5. Finally you should be seeing build succeeded if everything goes fine & now go to the path (entered while creating build definition & build agent) to see the build files.

Happy coding… hope this helps!

History

  • 29th October, 2011: Initial version