Connection and difference between daily build and continuous integration

Source: Internet
Author: User

Connection and difference between daily build and continuous integration

1) continuous integration emphasizes a fast feedback.
For example, when I check in the code, I immediately integrate it and give me a feedback. I want to know if my code has destroyed the build.
Continuous integration is combined with unit testing. That is to say, unit testing is usually required for continuous integration. However, continuous integration cannot include more things that affect the purpose of "quick feedback", such as code that cannot be added to a large number of integration tests or smoke tests, especially when the code seriously affects the integration time.
Continuous integration is generally triggered by every code check in. When I check in the code first, I will first see the build result. After you check in, you will be placed behind. This requires that the build time cannot be too long. Otherwise, when building the Code, many people check in the code, and it is difficult to know which code breaks the integration. It is difficult to locate the problem and reflect the check-in code issue, you cannot quickly provide clear information to the person who signs in the code. This is because it is generally done by the people who check in the code later to ensure the integration is successful.
Continuous integration can be incremental or fully built. When a full build takes a long time, incremental build is generally used.
I remember Martin flower wrote two articles about continuous integration. If I remember correctly, it seems that it was the first article that encouraged many tests into continuous integration, however, he later corrected his statement, saying that he could not add many things that affect integration. He wanted to maintain rapid integration and rapid feedback. Otherwise, it would be difficult to achieve continuous integration.

I just checked the latest version of continuous integration. The practice of continuous integration is summarized in this way, which further illustrates the importance of fast feedback for continuous integration.

# Practices of continuous integration
* Maintain a single source repository.
* Automate the build
* Make your build self-testing
* Everyone commits to the mainline every day
* Every commit shocould build the mainline on an integration Machine
* Keep the build fast
* Test in a clone of the production environment
* Make it easy for anyone to get the latest executable
* Everyone can see what's happening
* Automate deployment

The address is here. You can check it out if you are interested.
Http://martinfowler.com/articles/continuousIntegration.html

2) daily build (daily build): I don't know where it came from, but I have read the book "Microsoft secrets" and Microsoft has built it every day for a long time, I forgot to read Steve McConnell's article or book. He also mentioned daily building.

I feel that building on a daily basis is not as strong as continuous integration in terms of rapid response, but he emphasizes that quality can better measure the progress of the project.
--- Due to the purpose of continuous integration, it is impossible for him to join a lot of tests, but daily build is not as we know that daily build is usually scheduled to be built at night, at this time, we have enough time for building, so we can do more things, such as code quality check, naming convention unit testing, test coverage, integration testing, smoke test, code security check ..... and so on. Higher requirements for code and building. Many issues that cannot be found in continuous integration can be found here.
--- Daily build, because it is executed at night, all the changed code of the day will be integrated together, instead of continuous integration, we only integrate our code with previous Code each time. Continuous integration can be incremental build, but daily build is always a full build.
--- Daily build is the heartbeat line of the project. Generally, we can see the progress of the project through daily build. For example, the Code for five Bugs has been submitted today. The next day, we found that the daily build was successful, so the project has taken another big step forward and the project has made some progress.

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.