Showing posts with label MS Build. Show all posts
Showing posts with label MS Build. Show all posts

TFS - The in and out - Chapter I ( An Overview)

Sunday, January 31, 2010

Introduction:
Here we are going to see the functioning of TFS (Team Foundation System), Build, Branching, management, etc. TFS Build is nothing but MS Build integrated into it. With Team Foundation Build, enterprise build managers can synchronize the sources, compile the application, run associated unit tests, perform code analysis, release builds on a file server, and publish build reports.
What’s New:
1. Web Access
2. Continuous Integration
3. Scheduled Build
4. Multithreaded Builds

TFS Editions:
There are 4 editions in TFS, they are:
1. Architecture
Modeling.
2. Database
Database Deployment, DB Testing.
3. Development
Code Analysis, Code Metrics, Profiling.
4. Test
Load and Manual Testing.

Types of Build:
1. Automated Builds
This build happens daily or weekly on a specific time automatically. Build automation is about collecting, assembling, validating, and auditing.
2. Manual Builds
o Milestone Builds
This build is taken on such situations like, on completion of some specific feature, for an integration that is done to the system.
o On Demand Builds
This build happens based on specific demand like Merge scenario, etc

The Build Process:
The build process is divided into 3 phases, they are:
1. Pre-Build Activities
Generally we do the Build related settings here, For ex: setting the configuration of the build like "Debug|Any CPU".
2. Build
This includes the Build, the Unit testing, and then the code analysis which are done along with the build.
3. Post-Build Activities
In this activity, the built files will be dropped to specific locations and project specific activities like taking a build report and mailing it to the developers will be done.

Branching and Merging:
Branching:
The main reason for taking a branching and merging is for the reason of Parallel development. A branch is a replica or a copy that is taken from the main for a specific purpose.

Types of Branches:
There are 3 types of branching, they are:
1. Main branch
This is the stable snapshot of the product. This will be shared with Testing and deployment team.
2. Development branch
This is where the development for the next version is done.
3. Production Branch
This will have the sources of your released products or soon to be released products.

Branch Plans:
There are 3 types of branch plans, they are:
1. Basic
In this there will be MAIN, DEV and Release branches.

2. Standard
In this there will be MAIN, DEV, Service pack, and Release branches.

3. Advanced
In this there will be MAIN, DEV, Service pack, Hot fix and Release branches.

Branching Scenarios:
There are 4 types of branching, they are:
1. Release Isolation
This is done when we need to work on multiple releases in parallel.
2. Feature Isolation
This is done when we want to work on some new functionality that is considered risky
or experimental.
3. Team Isolation
This is done for sub-teams, where one teams work should not affect others’.
4. Integration Isolation
This acts as a staging area for merges and active development happens here. After the merge becomes stable it is merged to other branches.

Merging:
It is a process which takes the changes in the source branch to the destination branch. You can simply do the merge operation by right-clicking on the DEV branch and selecting Merge. When any conflicts occur between the branches, then rely on the DEV branch.

Types of Merging:
There are 2 types of Merging, they are:
1. Based Merge
This happens when there is a relationship between the parent and child branches. This is the type of merge which is mostly done.
2. Baseless Merge
This happens when there is no relationship between the parent and child branches. As of now TFS doesn’t support merge between 2 child branches.

Some Terminologies:
1. Continuous Integration
It is a type of Build which happens on every check-in.
2. BVT
Build Verification Test.
3. Build Agent
It is a dedicated machine on which the build happens. It needs to have Build service installed in it.
4. Forward Integration
It is an integration which happens from the parent to the child.
5. Reverse Integration
It is an integration which happens from the child to the parent.
6. Release Vehicle
This says how your product reaches your customer (Ex: Hotfix, Release, etc).
7. Hotfix
It is a customer blocking bug.
8. Service Pack
It is a collection of Hotfixes and features.
9. What is shelving in TFS?
Shelving is a way through which you save your code to TFS without checking in. If you want you can unshelve it whenever you want. Generally it is used for reviewing purpose

What is the expansion of VBL?

Monday, October 5, 2009


Virtual Build Labs



www.codecollege.NET

What are the special features of Test Edition of TFS?


Load and Manual Testing.



www.codecollege.NET

What are the special features of Development Edition of TFS?


Code Analysis, Code Metrics, Profiling.



www.codecollege.NET

What are the special features of Database Edition of TFS?


Database Deployment, DB Testing.



www.codecollege.NET

What are the special features of Architecture Edition of TFS?


It has features which focus on Modeling.



www.codecollege.NET

What is done in the Pre-Build Activity?


Generally we do the Build related settings here, For ex: setting the configuration of the build like "Debug|Any CPU".



www.codecollege.NET

What are the 3 types of branches being followed in TFS generally?


1. Main
2. Development
3. Production



www.codecollege.NET

What are the 2 popular types of Merging?


1. Based
2. Baseless



www.codecollege.NET

What are the various Branching Scenarios generally followed ?


1. Release Isolation
2. Feature Isolation
3. Team Isolation
4. Integration Isolation



www.codecollege.NET

What does Service Pack mean in TFS ?

Monday, September 28, 2009


It is a collection of Hotfixes and features.


www.codecollege.NET

What does Hotfix mean in TFS ?


It is a customer blocking bug(a show stopper or ship stopper).


www.codecollege.NET

What does Release Vehicle mean in TFS ?


This says how your product reaches your customer (Ex: Hotfix, Release, etc).


www.codecollege.NET

What does Reverse Integration mean in TFS ?


It is an integration which happens from the child to the parent.


www.codecollege.NET

What does Forward Integration mean in TFS ?


It is an integration which happens from the parent to the child.


www.codecollege.NET

What is an Build Agent in TFS?


It is a dedicated machine on which the build happens. It needs to have Build service installed in it.


www.codecollege.NET

What are different TFS Editions ?


1. Architecture
2. Database
3. Development
4. Test


www.codecollege.NET

How will you specify the Build Order for projects in TFS?


Right-click in the project , Select “Project Build Order”. There you can specify the order in which your projects need to be built.


www.codecollege.NET

What is shelving in TFS?

Sunday, September 27, 2009


Shelving is a way through which you save your code to TFS without checking in. If you want you can unshelve it whenever you want. Generally it is used for reviewing purpose


www.codecollege.NET

What is the syntax which extracts the value of an item as a single string(ie scalar)?

Thursday, September 24, 2009


%()


www.codecollege.NET

LinkWithin

Blog Widget by LinkWithin

Recommended Books