Continuous build Integration environment in software development...

Continuous Integration is now a common practice used in software development;
Mainly used when multiple teams are working on the same code lines and contributing to code changes.
This helps in making sure that after every code change the changes are valid, and are not breaking any part of the code.
This is verified by a two step process.
There are multiple benefits of this practice as it gives comfort to the configuration management team. But from a developers point of view it makes the whole process slow.
After every check-in, a whole build is created and deployed with all Unit Tests successful.
If the product is huge, which can take a 1-2 hours build process after the check-in, the next check-in is stopped until the first check-in build is completed successfully.
 This is because no check-in should be made before a previous build is successfully completed. But, there are ways to handle such situations, as proposed by VSTS, to configure multiple Build Servers and planning work of multiple teams on a specific Build server.
Many teams have a rule that you have to integrate before you go home at the end of the day. If you can't integrate, they say, something has gone wrong and you should throw away your code and start fresh the next day.

How to Practice Continuous Integration
In order to be ready to deploy all but the last few hours of work, your team needs to do two things:
1. Integrate your code every few hours.
2. Keep your build, tests, and other release infrastructure up to date.
3. The most important part of adopting continuous integration is getting
4. People to agree to integrate frequently (every few hours) and never to break the build. Agreement is the key to adopting continuous integration because there's no way to force people not to break the build.
One cause of integration problems is infrequent integration. The less often you integrate the more changes you have to merge. Try integrating more often.
Another possibility is that your code tends to overlap with someone else's. Try talking more about what you're working on and coordinating more closely with the pairs that are working on related code.
If you're getting a lot of failures on the integration machine, you probably need to do more local builds before checking in. Run a full build include testing before you integrate to make sure your code is fine, then another full build include testing afterwards to make the integrated code is fine. If that build succeeds, you shouldn't have any problems on the integration machine.
Making builds readily available to stakeholders and testers can reduce the amount of rework necessary when rebuilding a feature that doesn't meet requirements. Additionally, early testing reduces the chances that defects survive until deployment. Finding errors earlier also, in some cases, reduces the amount of work necessary to resolve them. It should be easy to find out whether the build breaks and, if so, who made the relevant change.
The effect of finding and fixing integration bugs early in the development process saves both time and money over the lifespan of a project


Comments

Popular posts from this blog

Online Selenium Training With Real Time Scenario

Online Tricentis Tosca Automation Training with Real Time Scenarios

Online Training for Manual/Functional