Title: Managing Your Daily and Automated Build level 300 Development Platform and Application Lifecycle Man
1Managing Your Daily and Automated Buildlevel
300Development Platform and Application
Lifecycle Management
- Gad J. Meir
- R D Manager
- IDAG Ltd.
- Gadim at idag.co.il
2Agenda
- What is Daily Build Why Daily builds are so
important to your project
- How Msbuild makes the build process simple and
easy to do
- How Team Foundation Server makes Automatic Daily
builds trivial
- How to start doing daily build tomorrow
3The problems with Builds
- Build is not just compilation
- all configurations, Setup, Deployment, testing
etc.
- How Often do you Build Today
- Its the problem of the integrator
- Every 2 months, 2 weeks, 2 days ?
- Every 10 minuets ? !
- How do you build integrate today ?
- Why integration is so painful
- If Dayli Build is so good, why most of us dont
do it ?
- Complicated, costs
4What Is MSBuild
- An Engine
- Execute Tasks
- Based on XML file
- Have all the programming language elements you
expect
- Built-in in the .NET 2.0 framework
- Not part of VS !!
- The building blocks of TFS automated build
5MSBuild Is Simple Powerful
6Demo Debrief
- MSBuild xml is the VS project file
- Built in Support to edit inside VS
- MSBuild can call MSBuild
7Visual Studio .NET 2002/2003
Feeds
8MSBuild Design Goals
PROJECT FILE
9Partial List of Built In Tasks
- Compilation Oriented tasks
- AL (Assembly Linker) , Csc (C), Vbc (VB),
VCBuild (VC), ResGen, GenerateResource (RC)
- File Management Tasks
- Copy, Delete, MakeDir, RemoveDir, Touch (files)
- Build Process Utilities
- CreateItem, CreateProperty, FindUnderPath,
ReadLinesFromFile (ItemList from file),
WriteLinesToFile
- Deployment related tasks
- RegisterAssembly, UnregisterAssembly, SignFile
10If you need non build in taskThe system is
extensible
- The EXEC task
- Microsoft.Sdc.Tasks
- What can you do with Sdc
- Build your Own task
- MSBuild is just a task processor
11Task Extensibility
12Task Is too low level
- You can group complete logic into reusable unit
- The reusable unit is target
- You can import (include) targets
- You work in big units not in tasks
13Partial List of Built In Targets
- Normal Framework Targets
- Microsoft.Common.targets
- Microsoft.CSharp.targets
- Microsoft.VisualBasic.targets
- Microsoft.VisualJSharp.targets
- SQLServer.targets
- CompactFramework targets
- Microsoft.CompactFramework.Common.targets
- Microsoft.CompactFramework.CSharp.targets
- Microsoft.CompactFramework.CSharp.v1.targets
- Microsoft.CompactFramework.VisualBasic.targets
- Microsoft.CompactFramework.VisualBasic.v1.targets
14Target as Encapsulated block
15The MSBuild Language
- Operators tasks
- Variables Properties, Items, Scalars
- Logic Condition
- Subroutines Targets
16Adding TFS to MSBuild Power
What Team System Add
Team Build
Web Service
Tasks
Loggers
.TARGETS
Built In .NET Framework
VS2005 project system
MSBuild.exe
TFS
MSBuild (core components)
Source control
Work item tracking
Engine
Loggers
Tasks
.TARGETS
.NET Framework 2.0
programfiles\msbuild\\.targets
17The Build Process
Get sources from source control
18Using TFS as Build Generator
19Windows XP Daily Build
A 3 Min Annotated Version
20Dogfooding Developer Tools Within Microsoft
- More then 80 of DevDiv code (.NET Framework
Visual Studio) now builds every day in the build
lab using MSBuild and TeamBuild!
- Single project file for command-line and Visual
Studio IDE builds
- Full IDE development experience, including
intellisense, refactoring, designers, etc.
you can do this too!
21So Why Daily builds are important
- Iteration Working Product Delta
- Fast Iteration Cycle Benefits
- You never go dark
- You have a working Product every day
- You Minimize integration time
- Get to a known state and stay there
- You Can do it today using MSBuild today
- Daily Builds - the heart beat of the project
22Summery
- Think Daily Builds
- Plan for Daily Build
- Implement Daily Builds now !
23Recommended Sessions
- DEV202 VS End to End App Life Cycle Management
- DEV304 Optimozed SCM WithTFS
- DEV307 Lessons from microsoft SE
- DEV201 How MS adopted VSTS
24Resources
- MSBuild Team Blog http//blogs.msdn.com/msbuild/
- Visit the MSBuild Wiki http//channel9.msdn.com/wi
ki/default.aspx/MSBuild.HomePage
- Post a question on the MSDN Forums
http//forums.microsoft.com/msdn/ShowForum.aspx?Fo
rumID27
- Send mail to msbuild_at_microsoft.com
- MSBuild docs http//msdn2.microsoft.co
m
25Resources
- Courses/Events
- Books
- Web Casts
- Web Sites (MSDN, TechNet, Blogs)
26(No Transcript)
27New York! New York!
- ??? ?????? ?????
- ? - email ???? ?? ???
- ? -Beat Center
- ?? ???????
- ????? Feel The Beat
- ??????? ?????? ?????? ????
- ?????? i-mate ????...(??????? ???? ??? ???)
28Empire state building
See New York Like Never Before
Fifth Avenue at 34th Street
29Barnes Noble - Union Square
???? ????? ?????? ?? ???? ????? ??? ???? ??? ??
???
??? ?????
Old Possum's Book of Practical Cats/ T.S. Eliot
33 East 17th St.New York, NY 212-253-0810
30WCF Masters Class with Juval LowyIsrael 9-13/7/06
- intense five days with Juval Lowy covering WCF
programming, design guidelines, pitfalls,
original techniques and best practices.
- Dont miss on this unique opportunity to learn
WCF from Juval Lowy who has been part of the
strategic design effort for WCF from the
beginning, and who offer a profound insight on
the technology and its applications - For more information www.idag.co.il/IDesign
- Email sigalm at idag.co.il or call 09-7747785
?????
31(No Transcript)