tfs2008 whats new

Upload: pradeepkub

Post on 30-May-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 TFS2008 Whats New

    1/42

  • 8/14/2019 TFS2008 Whats New

    2/42

    Agenda

    What is Team System & Team Foundation Server

    What are the new features?

    Overview of Team Build

    TFS 2008 Build Automation in Detail Q&A

  • 8/14/2019 TFS2008 Whats New

    3/42

    Visual Studio Team System

  • 8/14/2019 TFS2008 Whats New

    4/42

    Team System at a Glance

    Visual Studio Team Suite

    MSF

    ProcessandGuidance

    Team Foundation Server

    VisualStudio

    IndustryPartners

    ArchitectureEdition

    DevelopmentEdition

    TestEdition

    Modeling Code Analysis

    Code Metrics

    Profiling

    DatabaseDeployment

    Change MgmtDB Testing

    Load & ManualTesting

    Version Control

    Work Item Tracking

    Reporting and BI

    Team Portal

    Team Build

    DatabaseEdition

    Code Coverage

    Visual Studio Professional Edition

    Test Load Agent

  • 8/14/2019 TFS2008 Whats New

    5/42

    Team Foundation Server

    Team Foundation ServerVersion Control

    Work Item Tracking

    Reporting and BI

    Team Portal

    Team Build

  • 8/14/2019 TFS2008 Whats New

    6/42

    Team Foundation Server

    Team Foundation Server

    Version ControlWork Item Tracking

    Reporting and BITeam Portal

    Team Build

  • 8/14/2019 TFS2008 Whats New

    7/42

    Team Foundation Server

    Dev Team (Local)Dev Team (Remote)

    Business User

    Build Agent

    Version ControlProxy (Remote)Active Directory

    TCP/IP

    HTTP / S

    Windows 2003 Server

    SQL Server 2005

    IIS 6.0

    Team Foundation Server

  • 8/14/2019 TFS2008 Whats New

    8/42

    Whats New Version Control

    Performance Improvements

    Scale Improvements

    Offline Improved

    Workspace mapping improvements Annotate

    Folder Diff

    Destory

    Get Latest on Checkout

  • 8/14/2019 TFS2008 Whats New

    9/42

    Check out != Get Latest

    1

    1

    Get Latest

    2 3

    Edit Pendingon Version 1

    AttemptedCheck in

    Check in

    4

    Get Latest

  • 8/14/2019 TFS2008 Whats New

    10/42

    Get Latest on Check out

    1

    1

    Get Latest

    2 3

    Pend Edit

    3

    Get LatestCheck in

    4

  • 8/14/2019 TFS2008 Whats New

    11/42

    Whats New Admin & Ops

    Much easier installer

    Upgrade from TFS 2005

    Share Point 2007 Support

    Support for Reporting Server off DT Support for SQL Named Instances

    Support for Windows Server 2008, SQL Server 2008

  • 8/14/2019 TFS2008 Whats New

    12/42

    Whats New - Other

    Team System Web Access

    Migration Toolkit

    Performance and Scale improvements

    Many UI improvements

  • 8/14/2019 TFS2008 Whats New

    13/42

    Whats New - Build

    Continuous Integration out of the box

    Scheduled Builds out of the box

    Better UI around build creation

    Stop and Delete builds in UI Multi-threaded builds

    Incremental builds and gets

    More flexible build definition storage

    Easier unit test integration

    Improved Build Agent communication

    .NET Object Model

  • 8/14/2019 TFS2008 Whats New

    14/42

    Compatibility 2005 / 2008

    TFS 2005

    TFS 2008

    VSTS 2005

    VSTS 2008

  • 8/14/2019 TFS2008 Whats New

    15/42

  • 8/14/2019 TFS2008 Whats New

    16/42

  • 8/14/2019 TFS2008 Whats New

    17/42

    Martin Woodward

    Senior Software Engineer

    Teamprise

    Automating your builds with TeamFoundation Server 2008

  • 8/14/2019 TFS2008 Whats New

    18/42

  • 8/14/2019 TFS2008 Whats New

    19/42

    Build Automation is

    Collecting

    Assembling

    Validating

    Auditing

  • 8/14/2019 TFS2008 Whats New

    20/42

    Build automation helps youanswer the tough questions

    Do our bits create a product?

    Are we on schedule?

    Is our product high quality?

    Build automations value is in making it trivial to take

    the pulse of your team

  • 8/14/2019 TFS2008 Whats New

    21/42

    Team Build 2008

    Visual Studio 2008 Team Foundation Server Build isthe official name of the feature

    Core feature of TFSyou dont buy it on its own

    Industrial strength build automation in Team System Provides the F5 experience for your team

  • 8/14/2019 TFS2008 Whats New

    22/42

    DemoUsing Build in Visual Studio Team Foundation Server 2008

  • 8/14/2019 TFS2008 Whats New

    23/42

    Build Execution

    Build Initiatedfrom TFS

    Prepare buildagent and create

    build numberSync Sources

    Compile andAnalyze

    Execute TestsUpdate Work

    ItemsCalculate Code

    CoverageCalculate Code

    Churn

    Produce BuildReport

    Copy to DropPublish Results

    to TFSNotify EventSubscribers

    BuildDefinition \ TFSBuild.proj

  • 8/14/2019 TFS2008 Whats New

    24/42

    Continuous Integration

    Continuous Integration is a software development practicewhere members of a team integrate their work frequently,usually each person integrates at least daily leading tomultiple integrations per day.

    Martin Fowler

  • 8/14/2019 TFS2008 Whats New

    25/42

    Power Tool to be released after RTM

    How CI Works in 2008

    submits

    processes

    raises

    handles

    queries

    queues

    receives

    servicesstarts

    raises

    handles

    polls

    notifies

    Build Service

    Version ControlService

    Build Agent

    NotificationApplication

    Check-in Event

    Build CompletionEvent

    Build Build Queue

    Build Definitions

    Changeset

    Database

    Developer

  • 8/14/2019 TFS2008 Whats New

    26/42

    Run Flexibility

    Ability to kick off a build on demand via Visual Studio UIor from the command line

    New Continuous Integration support and GUImanagement of builds

    Support for scheduled builds

    Managed API also exposed for rich control

  • 8/14/2019 TFS2008 Whats New

    27/42

    Multiple Remote Build Machines

    Team Build is designed to support multiple buildmachines (build agents)

    Chosen via UI or command-line when build isrequested

    TFS 2008 supports easily adding new build agentswithout creating new builds

    Can even have multiple build agents running on onemachine

  • 8/14/2019 TFS2008 Whats New

    28/42

    Build Management

    Manual process in TFS 2005

    Command-line deletion of builds

    Manual management of drops

    Team Build 2008 provides GUI features to manage

    builds and artifacts

    Team Build 2008 supports retention policy for buildsand automatic clean up

  • 8/14/2019 TFS2008 Whats New

    29/42

    Build Notifications

    Using the project alerts feature, anyone can subscribeto build notification events

    Two events supported out of the box

    E-mail notification generated

    Build status changes

    Build completes

    Build Notification Power Tool shipping post release(beta versions available)

  • 8/14/2019 TFS2008 Whats New

    30/42

    Team Build Architecture

    Team Build uses MSBuild engine

    Consists of

    MSBuild tasks for Team System components (testing, codechurn, update work items etc.)

    MSBuild project file (.proj), created via GUI, that defines buildoptions.

  • 8/14/2019 TFS2008 Whats New

    31/42

    Team Build Architecture

    Team FoundationServer

    Build Agent

    msbuild.exe

    BuildDefinition\TFSBuild.proj

    msbuildm.exe

    SolutionA.sln

    msbuild.exe

    SolutionB.sln

    Calls

    Compiles

    Runs

  • 8/14/2019 TFS2008 Whats New

    32/42

    Customizing the Build

    Core build defined in TfsBuild.proj

    Check-out for edit and modify

    Targets group tasks together in a particular order

    Allow sections of the build process to be called from thecommand line

    Targets contain tasks

    Tasks

    Tasks are defined operations that live in a managed assembly

    They provide the code that runs during the build process

    You can write your own

    Implement ITask

    Derive from helper class Task

  • 8/14/2019 TFS2008 Whats New

    33/42

    Customizing the Build

    Properties pre-defined to control build

    Targets in Build designed to be overriden

    IncrementalGet StopOnFirstFailure

    IncrementalBuild CleanCompilationOutputOnly

    SkipWorkItemCreation UpdateAssociatedWorkItemsOnBuildBreak

    SkipLabel SkipGetChangesetsUpdateWorkItems

    BeforeOnBuildBreak BuildNumberOverideTarget

    BeforeCompile BeforeEndToEndIteration

    BeforeTest AfterEndToEndIteration

    PackageBinaries Before/After everything!

  • 8/14/2019 TFS2008 Whats New

    34/42

    Desktop Builds

    Build scripts work on desktops also

    Can install build server locally for UI support andpublication

    Can use command-line for private, personal builds

  • 8/14/2019 TFS2008 Whats New

    35/42

  • 8/14/2019 TFS2008 Whats New

    36/42

    DemoCustomizing the Build Process

  • 8/14/2019 TFS2008 Whats New

    37/42

  • 8/14/2019 TFS2008 Whats New

    38/42

    Team Build Managed Code API

    Interface

    Interface

    Properties

    BuildServer

    ConfigurationFolderPath

    DefaultDropLocation

    Description

    Enabled

    RetentionPolicies

    Workspace

    Methods

    Interface

    Properties

    BuildDirectory

    MachineName

    Port

    QueueCount

    Status

    Methods

    string

    Interface

    Properties

    DaysToBuild

    StartTime

    Class

    Interface

    PropertiesBuildAgent

    BuildNumber

    CommandLineArguments

    CompilationStatus

    ConfigurationFolderPath

    DropLocation

    FinishTime

    Information

    KeepForever

    LogLocation

    Quality

    RequestedByRequestedFor

    SourceGetVersion

    StartTime

    Status

    TestStatus

    Uri

    Methods

    Events

    Interface

    Properties

    BuildServer

    CommandLineArguments

    CustomGetVersion

    DropLocation

    GetOption

    Id

    PriorityQueuePosition

    QueueTime

    RequestedBy

    RequestedFor

    Status

    Methods

    Enum

    Individual

    Batch

    Schedule

    ScheduleForced

    DefaultBuildAgent

    Schedules

    BuildServer

    BuildAgents

    BuildDefinitions

    BuildDefinition

    Build

    BuildAgent

    BuildDefinition

    ContinuousIntegrationType

    TeamFoundationServer

    IBuildDefinition

    TeamProject

    IQueuedBuildIBuildAgent

    IBuildDetail

    IBuildServer

    TeamFoundationServer

    ContinuousIntegrationType

    ISchedule

  • 8/14/2019 TFS2008 Whats New

    39/42

  • 8/14/2019 TFS2008 Whats New

    40/42

  • 8/14/2019 TFS2008 Whats New

    41/42

    Summary

    Team Build allows for consistent and repeatable builds

    MS Build engine support provides for limitlessextensibility

    Visual Studio 2008 Team Foundation Server version ofTeam Build provides dramatic improvement

  • 8/14/2019 TFS2008 Whats New

    42/42

    Q&A

    Contact me via blog or e-mail:

    [email protected]

    http://www.woodwardweb.com