(multi-stage continuous integration) multi-stage continuous integration

Source: Internet
Author: User

I. Current SITUATION

The object of our ongoing integration is a development team of about 100 people who develop a huge system. The entire development team is divided into several development teams for collaborative development, each development team responsible for the development of 2-3 modules, the actual module is already equivalent to a small and medium-sized system. All modules of each module are compiled together through eclipse and placed directly under Web-inf/classes. Local is not able to start the entire system, it will cost a lot of resources.

Second, the problems encountered

Prior to knowing the specifics, our initial idea was to make a continuous integration of the entire product, but soon discovered that there were many problems with this idea:

1, the entire product construction time will be very long, this time, including the compilation of code, start WebLogic, complete the automated testing, at the same time the hardware requirements of the server is very high

2, because the build time is long, so if the local build passed after the submission will seriously affect the development efficiency, and local hardware conditions may not start

3, if the local do not build submissions, because of the large number of developers, the build will be very unstable, will often be in a failed state. A build failure can cause subsequent commit blocking.

4, as a 100-person development team, code submission will cause frequent server building, the server can not afford.

At the same time as customers, they have the idea that agile development is good, but not suitable for large projects and large teams.

The most important issues focus on two areas:

1, start the entire product is too heavy (not including automated testing in the case has been so)

2, how to not affect the frequent submission of developers

Third, our ideas

Our current idea is to do multiple phases of continuous integration (multi-stage CI)

can refer to here http://www.ddj.com/development-tools/212201506

In specific terms:

1, each development group within the group to do continuous integration

2, the development team integration to do the entire product continuous integration

Probably:

1, each development team a branch, the entire product one main line

2, in the group branch to build a continuous integration environment, the group's development to the branch to submit, each group can be concurrent development, not affect

3, the team completed a complete function, from the main line to update the merged code, local construction through, submit, triggering the continuous integration of the entire product

To facilitate continuous integration builds within the group, the team tries to divide the dependencies of other modules as much as possible, and unnecessary modules (where the modules include the underlying modules, such as the workflow modules) do not have to be loaded.

Also recommend lightweight Web servers such as Tomcat to complete the test environment within the team. When you need to start weblogic or have too many functional dependencies, it is recommended that you test the product as it continues to integrate.

It also retains the original habit of starting a separate test server for manual testing.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.