logging in or signing up ALM Live Kallkodshantering med VSTS Funtoon Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 793 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 28, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Source Code ControlusingVisual Studio Team System: Source Code Control using Visual Studio Team System Mathias Olausson Solution Architect Callista KnowledgebaseAbout...: About...Agenda: AgendaAgenda: AgendaThe Situation Today: The Situation TodayRemedy: RemedyALM: ALM Source: The Changing Face of Application Life-cycle Management - Forrester August 2006Visual Studio Team System: Visual Studio Team SystemVisual Studio Team System: Visual Studio Team System Visual Studio Team Suite MSF Process and Guidance Visual Studio Team Foundation Server Visual Studio Industry Partners Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Application Modeling Infrastructure and Deployment Modeling Code Analysis Performance Tuning Security Analysis Database Deployment Database Change Mgmt. Database Testing Performance Testing Manual Testing Test Case Management Visual Studio Professional Edition Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Load Test Agent Visio and UML Modeling Class Modeling Unit Testing Code CoverageTeam Project: Team Project Server-based project in the TFS Container of: Work items Source code Build data Test results Project Documents Integrated with: Team Portal Process Guidance ReportsWork Items: Work ItemsLogical Workflow of TFS: Logical Workflow of TFSLogical Workflow of Environments: Logical Workflow of EnvironmentsWhat’s new in TFS 2008?: What’s new in TFS 2008?DEMO: DEMO TFS Web AccessAgenda: AgendaRequirements of SCCM: Requirements of SCCMGoals for TFS: Goals for TFS Scalability Reliability Remote Development Parallel Development Integrated Check-in ExperienceNew From The Ground Up: New From The Ground Up Scalability Three Tier Architecture SQL Server 2005 500+ Person Team Storage limited to SQL Server and hardware Reliability Atomic Check-ins Security Remote Development HTTP Transport Proxy Server Visual Studio 2005 MSSQL/TCP SOAP / HTTP(S) SQL Server 2005Supporting the Enterprise - Source Control Proxy: Supporting the Enterprise - Source Control Proxy SOAP Messages SOAP Messages SOAP Messages File Transfers File Transfers File TransfersSupporting the Enterprise - Source Control Proxy: Supporting the Enterprise - Source Control Proxy SOAP Messages SOAP Messages SOAP Messages File Uploads File Uploads File Uploads DownloadsParallel Development: Parallel Development Multiple Releases Branching Create a copy of a set of files for a separate work effort (i.e. a release that will need to be supported) Each branch can have different permissions configuration Merging Combine the changes in one branch into another branch Multiple Checkouts File can be checked out by multiple developers Later combine the changes locally, before checking inIntegrated Check-In Experience: Integrated Check-In Experience Combines source changes, comments, work items, checkin policy, notifications Captures valuable data relationships Customizable to your organization process Work items can be associated with or resolved by a check-in Changesets: Changesets Logical container of data related to check-in File and branch information Links to work items Check-in notes Comment Policy compliance Metadata (date, time, user) Unit of atomic checkin Uniquely identified Numeric identifier Incremental Represents a point in time of source repositoryViewing Changesets: Viewing Changesets Use the History command or the Source Control Explorer For a list of all changesets in a particular Team Project, view History of the $/TeamProject folder in Source Control Explorer For Searching, use the ‘Get Specific Version’ dialog from Source Control ExplorerClients: Clients Visual Studio 2005 Team Source Explorer Team Source Command Line Utility TFS Web Access MSSCCI Clients Visual Basic 6.0 Visual Studio .NET 2003 Others… Third Party Tools Team Prise Unix, Linux, Mac OS clients Eclipse/Websphere integrationConfiguration: ConfigurationHow to Rollback: How to Rollback No pending changes Get Specific Version Checkout the entire folder (solution). This does not perform a Get Latest operation. Check-in (Resolve conflicts selecting ‘keep local changes’) Repeat Check-in operation (no conflicts should occur) Documents and Version control: Documents and Version controlLocking: Locking Applied to a file or folder Checkout Lock Prevents other contributors from checking out a branch or file More restrictive Check-in Lock Allows checkout, but not check-in Allows others to work with a file, but not check in One lock allowed per file or folderLabels: Labels Label Is a selection of files from different branches Is an “unversioned” entity Includes a single version of any selected file Example Milestone like “Beta2” Use files from “B2Release” branch Omit XYZ.cs from branch Include XYZ.cs from “B2QuickFix” branchWhat’s new in TFS 2008?: What’s new in TFS 2008?Scenario #1Fundamentals: Scenario #1 FundamentalsShelving: Shelving Set aside pending changes without checkin Optionally revert to unmodified files Restore shelved changes by “unshelving” Unshelve other user’s changes Power of task branching with less overhead Shelving: Shelving Shelveset Result of shelving A copy of a set of pending changes (and adds), saved on the server for later usage Can be retrieved later by creator and/or other team member Examples Share a work in progress with another team member Code review before finishing current tasks Put a incomplete effort on the server for backup To put aside an effort because a higher priority task arrived Shelving Can reset the workspace to base version (optionally undo all pending changes after creating the shelveset) Shelvesets Permissions: Shelvesets Permissions No permissions required to create a shelveset Read and PendChange (Check out) permissions required to UnShelveScenario #2Switching context : Scenario #2 Switching context Workspaces: Workspaces Client side copy of source checked out from repository Owned by one user on one machine Changes in workspace create “pending changes” Typical Sequence of Events Check Out Coding… Get Latest Coding, Testing… Check-in Workspace Mapping = Repository folder mapped to Local FolderScenario #3Splitting work: Scenario #3 Splitting workCheck-In Policies: Check-In Policies Restrict changes that can be submitted Configurable at project level Applied locally = must be installed on clientCheck-In Policies (cont’d): Check-In Policies (cont’d) Three policies included with Team Foundation: Work items associated Checkin tests pass Static analysis is clean Team Foundation Power Tools adds four Custom Path policy Forbidden patterns Changeset comments Work Item Query Extensible through plugin model Build your own!Custom check-in policies: Custom check-in policiesScenario #4Working with Policies : Scenario #4 Working with Policies Source Code Migration: Source Code MigrationVSS Feature Differences: VSS Feature Differences VSS does not have: Workspaces Changesets Shelvesets Content Merge, Namespace Merge (branch) Auditing Locking Atomic checkins Team Foundation Version Control does not have: Share (but has much better support for parallel development) Pin Archive and Restore Destroy Shadow folders Branching and merging is a lot more reliable in TFVC Archive before migrating from VSS to TFVC!Visual SourceSafe 2005 Comparison: Visual SourceSafe 2005 ComparisonConverters to TFS: Converters to TFS VSSConverter Pick and Choose folders Replays VSS actions to VSTS for history capture Reports Pre-migration analysis User mapping file Post-migration results Allows for pinned files Also see related WalkthroughsConverters to TFS: Converters to TFS TFSMigrationToolkit www.codeplex.com/TFSMigrationToolkit Framework for conversion and replication of Source Code Work Items 3rd-party and open source solutionsOther migration questions: Other migration questionsScenario #5Migration : Scenario #5 Migration What files should be versioned?: What files should be versioned?DEMO: DEMO News in TFS 2008Agenda: AgendaWhat is build automation?: What is build automation?What is MSBuild?: What is MSBuild? A fully extensible build system that ships with the .NET Framework 2.0. A build system that is seamlessly integrated with Visual Studio 2005. Uses an XML file for describing your project’s properties, items, and build process.MSBuild Project File Structure: MSBuild Project File Structure <Project xmlns=“http://schemas.microsoft.com/developer/msbuild/2003”> <PropertyGroup> <AppName>MyCoolApp</AppName> <DebugSymbols>true</DebugSymbols> <OutputAssembly>$(AppName).exe</OutputAssembly> </PropertyGroup> <ItemGroup> <Compile Include=“Hello.cs” /> <Compile Include=“Program.cs” /> </ItemGroup> <Target Name=“Build”> <Message Text=“Executing Build Target for App $(AppName)” /> <Csc Sources=“@(Compile)” EmitDebugInformation=“$(DebugSymbols)” OutputAssembly=“$(OutputAssembly)”/> </Target> <Import Project=“Microsoft.CSharp.targets” /> </Project>Overriding Targets: Overriding Targets <Target Name=“CalculateUnitTestCoverage”> <Message Text=“Calculating Unit Test Coverage for Stage $(Stage)” /> <!– Code Coverage Logic here --> </Target> <Target Name="BeforeBuild"> <MSBuild Projects=“$(MSBuildProjectFile)” Targets=“CalculateUnitTestCoverage” Properties=“Stage=BeforeBuild” /> </Target> <Target Name="AfterBuild"> <MSBuild Projects=“$(MSBuildProjectFile)” Targets=“CalculateUnitTestCoverage” Properties=“Stage=AfterBuild” /> </Target>MSBuild files: MSBuild files C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.Tasks C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\*.targetsWhat is Team Build?: What is Team Build? A fully automated build solution that is easy to use and configure Capable of a complete end-to-end build Seamlessly integrated into Visual Studio Team System and Team Foundation Server Fully extensible through standard MSBuild extensibility mechanisms (create custom tasks and loggers) Team BuildArchitecture: Team Build Architecture Team Foundation Client Application Tier Build Machine Create build type Start build View Reports Team Build Web Services MSBuild Drop Location Data Tier Sources Work items Team Build data Team Foundation warehouse Team Build Windows ServiceTeam Build Process: Team Build ProcessTeam Foundation Build Types: Team Foundation Build Types In TFS 2005 Stored in $/TeamProject/TeamBuildTypes Folder in TFVC TFSBuild.proj TFSBuild.rsp VCOverrides.vsprops WorkspaceMapping.xml In TFS 2008 Stored in database + in $/TeamProject Team Build Command Line: Team Build Command Line TfsBuild.exe Start Stop Delete HelpKey Features : Key Features Out-of-box public builds Integrate with source control system and work item tacking Configuration wizard Single click to kick off build Notifications Build Test Publish metricsKey Features (cont’d): Key Features (cont’d) Central Build reports Build status and progress Compilation errors and warnings Test and Static Analysis results Work items and changesets included in the build Code coverageKey Features (cont’d) : Key Features (cont’d) Build Quality Trends Store Build health information in warehouse Generate trend reports Other Build Types Remote build server support Desktop BuildsBuild notifications: Build notificationsWhat’s new in TFS 2008?: What’s new in TFS 2008?Build And Deployment: Build And DeploymentScenario #5Creating a Team Build : Scenario #5 Creating a Team Build Continuous Integration: Continuous IntegrationContinuous Integration in VSTS: Continuous Integration in VSTSContinuous Integration in VSTS: Continuous Integration in VSTSScenario #6Implementing Continuous Integration : Scenario #6 Implementing Continuous Integration Team Build Customization: Team Build CustomizationCustomizable Build Targets: Customizable Build TargetsTeam Foundation Build Tasks: Team Foundation Build TasksDesktop Builds: Desktop BuildsTeam Build Extensions: Team Build ExtensionsCustom MSBuild Tasks: Custom MSBuild Tasks public class MakeDir : Task { private string[] directories; public string Directories { get {return directories;} set {directories = value;} } public override bool Execute() { foreach (string directory in directories) { System.IO.Directory.CreateDirectory(directory); } return true; } } <MakeDir Directories=“C:\xyz” />Scenario #7Customizing the build definition : Scenario #7 Customizing the build definition Agenda: AgendaConfiguration Management: Configuration ManagementBranch And Merge: Branch And Merge Branch Purpose: Isolation Independent path of development (i.e. when a version or code base will need to be supported) Experimental development, keep or throw away Multiple development efforts to the same sub-system A branch relationship is created in TFS to avoid duplication of history and metadata Uses path-space branching Intelligent copiesBranch And Merge (cont’d): Branch And Merge (cont’d) Merge Sync a branch into another Cherry Picking changesets (include or omit) History can be queried Ability to show changes that have not been mergedBaseless Merge: Baseless Merge Merge between items that aren’t directly branched from each other Can only be done from the command line: tf merge /baseless shared-source shared-target tf checkin After checking in the baseless merge, the source and target are related as though the target had been branched from the sourceBranch and Merge Terms: Branch and Merge TermsBranch and Merge Strategies: Branch and Merge StrategiesNo Branches: No BranchesBranch for Release: Branch for Release Branch for Maintenance: Branch for MaintenanceBranch for Feature: Branch for FeatureBranching conciderations: Branching conciderationsThe VBL Model: The VBL ModelBranching best-practices: Branching best-practicesBranching Check-List: Branching Check-ListExample: ExampleScenario #8Implementing a branch model : Scenario #8 Implementing a branch model Reporting: ReportingDEMO: DEMO ReportsAgenda: AgendaCall to Action: Call to ActionALM Live: ALM LiveQ & A: Q & ASlide107: © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.. You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
ALM Live Kallkodshantering med VSTS Funtoon Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 793 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 28, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Source Code ControlusingVisual Studio Team System: Source Code Control using Visual Studio Team System Mathias Olausson Solution Architect Callista KnowledgebaseAbout...: About...Agenda: AgendaAgenda: AgendaThe Situation Today: The Situation TodayRemedy: RemedyALM: ALM Source: The Changing Face of Application Life-cycle Management - Forrester August 2006Visual Studio Team System: Visual Studio Team SystemVisual Studio Team System: Visual Studio Team System Visual Studio Team Suite MSF Process and Guidance Visual Studio Team Foundation Server Visual Studio Industry Partners Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Application Modeling Infrastructure and Deployment Modeling Code Analysis Performance Tuning Security Analysis Database Deployment Database Change Mgmt. Database Testing Performance Testing Manual Testing Test Case Management Visual Studio Professional Edition Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Load Test Agent Visio and UML Modeling Class Modeling Unit Testing Code CoverageTeam Project: Team Project Server-based project in the TFS Container of: Work items Source code Build data Test results Project Documents Integrated with: Team Portal Process Guidance ReportsWork Items: Work ItemsLogical Workflow of TFS: Logical Workflow of TFSLogical Workflow of Environments: Logical Workflow of EnvironmentsWhat’s new in TFS 2008?: What’s new in TFS 2008?DEMO: DEMO TFS Web AccessAgenda: AgendaRequirements of SCCM: Requirements of SCCMGoals for TFS: Goals for TFS Scalability Reliability Remote Development Parallel Development Integrated Check-in ExperienceNew From The Ground Up: New From The Ground Up Scalability Three Tier Architecture SQL Server 2005 500+ Person Team Storage limited to SQL Server and hardware Reliability Atomic Check-ins Security Remote Development HTTP Transport Proxy Server Visual Studio 2005 MSSQL/TCP SOAP / HTTP(S) SQL Server 2005Supporting the Enterprise - Source Control Proxy: Supporting the Enterprise - Source Control Proxy SOAP Messages SOAP Messages SOAP Messages File Transfers File Transfers File TransfersSupporting the Enterprise - Source Control Proxy: Supporting the Enterprise - Source Control Proxy SOAP Messages SOAP Messages SOAP Messages File Uploads File Uploads File Uploads DownloadsParallel Development: Parallel Development Multiple Releases Branching Create a copy of a set of files for a separate work effort (i.e. a release that will need to be supported) Each branch can have different permissions configuration Merging Combine the changes in one branch into another branch Multiple Checkouts File can be checked out by multiple developers Later combine the changes locally, before checking inIntegrated Check-In Experience: Integrated Check-In Experience Combines source changes, comments, work items, checkin policy, notifications Captures valuable data relationships Customizable to your organization process Work items can be associated with or resolved by a check-in Changesets: Changesets Logical container of data related to check-in File and branch information Links to work items Check-in notes Comment Policy compliance Metadata (date, time, user) Unit of atomic checkin Uniquely identified Numeric identifier Incremental Represents a point in time of source repositoryViewing Changesets: Viewing Changesets Use the History command or the Source Control Explorer For a list of all changesets in a particular Team Project, view History of the $/TeamProject folder in Source Control Explorer For Searching, use the ‘Get Specific Version’ dialog from Source Control ExplorerClients: Clients Visual Studio 2005 Team Source Explorer Team Source Command Line Utility TFS Web Access MSSCCI Clients Visual Basic 6.0 Visual Studio .NET 2003 Others… Third Party Tools Team Prise Unix, Linux, Mac OS clients Eclipse/Websphere integrationConfiguration: ConfigurationHow to Rollback: How to Rollback No pending changes Get Specific Version Checkout the entire folder (solution). This does not perform a Get Latest operation. Check-in (Resolve conflicts selecting ‘keep local changes’) Repeat Check-in operation (no conflicts should occur) Documents and Version control: Documents and Version controlLocking: Locking Applied to a file or folder Checkout Lock Prevents other contributors from checking out a branch or file More restrictive Check-in Lock Allows checkout, but not check-in Allows others to work with a file, but not check in One lock allowed per file or folderLabels: Labels Label Is a selection of files from different branches Is an “unversioned” entity Includes a single version of any selected file Example Milestone like “Beta2” Use files from “B2Release” branch Omit XYZ.cs from branch Include XYZ.cs from “B2QuickFix” branchWhat’s new in TFS 2008?: What’s new in TFS 2008?Scenario #1Fundamentals: Scenario #1 FundamentalsShelving: Shelving Set aside pending changes without checkin Optionally revert to unmodified files Restore shelved changes by “unshelving” Unshelve other user’s changes Power of task branching with less overhead Shelving: Shelving Shelveset Result of shelving A copy of a set of pending changes (and adds), saved on the server for later usage Can be retrieved later by creator and/or other team member Examples Share a work in progress with another team member Code review before finishing current tasks Put a incomplete effort on the server for backup To put aside an effort because a higher priority task arrived Shelving Can reset the workspace to base version (optionally undo all pending changes after creating the shelveset) Shelvesets Permissions: Shelvesets Permissions No permissions required to create a shelveset Read and PendChange (Check out) permissions required to UnShelveScenario #2Switching context : Scenario #2 Switching context Workspaces: Workspaces Client side copy of source checked out from repository Owned by one user on one machine Changes in workspace create “pending changes” Typical Sequence of Events Check Out Coding… Get Latest Coding, Testing… Check-in Workspace Mapping = Repository folder mapped to Local FolderScenario #3Splitting work: Scenario #3 Splitting workCheck-In Policies: Check-In Policies Restrict changes that can be submitted Configurable at project level Applied locally = must be installed on clientCheck-In Policies (cont’d): Check-In Policies (cont’d) Three policies included with Team Foundation: Work items associated Checkin tests pass Static analysis is clean Team Foundation Power Tools adds four Custom Path policy Forbidden patterns Changeset comments Work Item Query Extensible through plugin model Build your own!Custom check-in policies: Custom check-in policiesScenario #4Working with Policies : Scenario #4 Working with Policies Source Code Migration: Source Code MigrationVSS Feature Differences: VSS Feature Differences VSS does not have: Workspaces Changesets Shelvesets Content Merge, Namespace Merge (branch) Auditing Locking Atomic checkins Team Foundation Version Control does not have: Share (but has much better support for parallel development) Pin Archive and Restore Destroy Shadow folders Branching and merging is a lot more reliable in TFVC Archive before migrating from VSS to TFVC!Visual SourceSafe 2005 Comparison: Visual SourceSafe 2005 ComparisonConverters to TFS: Converters to TFS VSSConverter Pick and Choose folders Replays VSS actions to VSTS for history capture Reports Pre-migration analysis User mapping file Post-migration results Allows for pinned files Also see related WalkthroughsConverters to TFS: Converters to TFS TFSMigrationToolkit www.codeplex.com/TFSMigrationToolkit Framework for conversion and replication of Source Code Work Items 3rd-party and open source solutionsOther migration questions: Other migration questionsScenario #5Migration : Scenario #5 Migration What files should be versioned?: What files should be versioned?DEMO: DEMO News in TFS 2008Agenda: AgendaWhat is build automation?: What is build automation?What is MSBuild?: What is MSBuild? A fully extensible build system that ships with the .NET Framework 2.0. A build system that is seamlessly integrated with Visual Studio 2005. Uses an XML file for describing your project’s properties, items, and build process.MSBuild Project File Structure: MSBuild Project File Structure <Project xmlns=“http://schemas.microsoft.com/developer/msbuild/2003”> <PropertyGroup> <AppName>MyCoolApp</AppName> <DebugSymbols>true</DebugSymbols> <OutputAssembly>$(AppName).exe</OutputAssembly> </PropertyGroup> <ItemGroup> <Compile Include=“Hello.cs” /> <Compile Include=“Program.cs” /> </ItemGroup> <Target Name=“Build”> <Message Text=“Executing Build Target for App $(AppName)” /> <Csc Sources=“@(Compile)” EmitDebugInformation=“$(DebugSymbols)” OutputAssembly=“$(OutputAssembly)”/> </Target> <Import Project=“Microsoft.CSharp.targets” /> </Project>Overriding Targets: Overriding Targets <Target Name=“CalculateUnitTestCoverage”> <Message Text=“Calculating Unit Test Coverage for Stage $(Stage)” /> <!– Code Coverage Logic here --> </Target> <Target Name="BeforeBuild"> <MSBuild Projects=“$(MSBuildProjectFile)” Targets=“CalculateUnitTestCoverage” Properties=“Stage=BeforeBuild” /> </Target> <Target Name="AfterBuild"> <MSBuild Projects=“$(MSBuildProjectFile)” Targets=“CalculateUnitTestCoverage” Properties=“Stage=AfterBuild” /> </Target>MSBuild files: MSBuild files C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.Tasks C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\*.targetsWhat is Team Build?: What is Team Build? A fully automated build solution that is easy to use and configure Capable of a complete end-to-end build Seamlessly integrated into Visual Studio Team System and Team Foundation Server Fully extensible through standard MSBuild extensibility mechanisms (create custom tasks and loggers) Team BuildArchitecture: Team Build Architecture Team Foundation Client Application Tier Build Machine Create build type Start build View Reports Team Build Web Services MSBuild Drop Location Data Tier Sources Work items Team Build data Team Foundation warehouse Team Build Windows ServiceTeam Build Process: Team Build ProcessTeam Foundation Build Types: Team Foundation Build Types In TFS 2005 Stored in $/TeamProject/TeamBuildTypes Folder in TFVC TFSBuild.proj TFSBuild.rsp VCOverrides.vsprops WorkspaceMapping.xml In TFS 2008 Stored in database + in $/TeamProject Team Build Command Line: Team Build Command Line TfsBuild.exe Start Stop Delete HelpKey Features : Key Features Out-of-box public builds Integrate with source control system and work item tacking Configuration wizard Single click to kick off build Notifications Build Test Publish metricsKey Features (cont’d): Key Features (cont’d) Central Build reports Build status and progress Compilation errors and warnings Test and Static Analysis results Work items and changesets included in the build Code coverageKey Features (cont’d) : Key Features (cont’d) Build Quality Trends Store Build health information in warehouse Generate trend reports Other Build Types Remote build server support Desktop BuildsBuild notifications: Build notificationsWhat’s new in TFS 2008?: What’s new in TFS 2008?Build And Deployment: Build And DeploymentScenario #5Creating a Team Build : Scenario #5 Creating a Team Build Continuous Integration: Continuous IntegrationContinuous Integration in VSTS: Continuous Integration in VSTSContinuous Integration in VSTS: Continuous Integration in VSTSScenario #6Implementing Continuous Integration : Scenario #6 Implementing Continuous Integration Team Build Customization: Team Build CustomizationCustomizable Build Targets: Customizable Build TargetsTeam Foundation Build Tasks: Team Foundation Build TasksDesktop Builds: Desktop BuildsTeam Build Extensions: Team Build ExtensionsCustom MSBuild Tasks: Custom MSBuild Tasks public class MakeDir : Task { private string[] directories; public string Directories { get {return directories;} set {directories = value;} } public override bool Execute() { foreach (string directory in directories) { System.IO.Directory.CreateDirectory(directory); } return true; } } <MakeDir Directories=“C:\xyz” />Scenario #7Customizing the build definition : Scenario #7 Customizing the build definition Agenda: AgendaConfiguration Management: Configuration ManagementBranch And Merge: Branch And Merge Branch Purpose: Isolation Independent path of development (i.e. when a version or code base will need to be supported) Experimental development, keep or throw away Multiple development efforts to the same sub-system A branch relationship is created in TFS to avoid duplication of history and metadata Uses path-space branching Intelligent copiesBranch And Merge (cont’d): Branch And Merge (cont’d) Merge Sync a branch into another Cherry Picking changesets (include or omit) History can be queried Ability to show changes that have not been mergedBaseless Merge: Baseless Merge Merge between items that aren’t directly branched from each other Can only be done from the command line: tf merge /baseless shared-source shared-target tf checkin After checking in the baseless merge, the source and target are related as though the target had been branched from the sourceBranch and Merge Terms: Branch and Merge TermsBranch and Merge Strategies: Branch and Merge StrategiesNo Branches: No BranchesBranch for Release: Branch for Release Branch for Maintenance: Branch for MaintenanceBranch for Feature: Branch for FeatureBranching conciderations: Branching conciderationsThe VBL Model: The VBL ModelBranching best-practices: Branching best-practicesBranching Check-List: Branching Check-ListExample: ExampleScenario #8Implementing a branch model : Scenario #8 Implementing a branch model Reporting: ReportingDEMO: DEMO ReportsAgenda: AgendaCall to Action: Call to ActionALM Live: ALM LiveQ & A: Q & ASlide107: © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION..