What is the meaning of daily builds?

For what them to use?

1. Theme for WordPress?
2. Plugin for jquery?
3. The console module for nodejs
4. An extensive and feature-rich web application on the stack is php+js

I understand that this procedure is necessary to track changes that break the product?
That is, commit->nightly build is broken->the next day corrected?
But if I write the changes that he did not finish the functionality, but the day is over - whether to throw in git, knowing that it would break the product? (and then just second question, on a daily basis to test the Assembly you only need the master branch? Or all the branches with the features, practices, etc?)
4 answers
July 9th 19 at 13:04
Variants can be such:
a) On every commit is just the product build and run integration tests.

The pros are - at the workplace you only need GIT and IDE, all compilers, the environment for running applications on nodes of buildserver. As a result, you can code from anywhere, and check the integrity of the Assembly with each commit.

b) the Assembly can be night. For example, because the build goes 5 hours on a thick server and the working machine it will go 10-15 hours, and then not go at all. Then, of course, desirable not to break the build of unfinished commits. But git also allows committing without pushey, or to use benami, and configure the build not to just commit and merge in real estate development or master branch.

C) Builds can be a lot different under builds in General do not have means to compile and run example source through a thread of a code analyzer with report, chase tests for individual components.

Besides, the developers own work, have their own testers. It is useful to test features as they appear, and not wait a week, and then sit in the soap.
But the points for what the project is is set to do, and what not? - karina59 commented on July 9th 19 at 13:07
:
Em. well, it should be the whole project to look in detail. And it's not just in the nightly builds, but in how the developers - they should be aware that will build.

If your example, then
1. Theme for WordPress?
I don't know if a theme for WordPress to automatically test, it's seen through the eyes necessary. Besides, I don't really know how many commits you need in total to make a new topic for worpress. There is a suspicion that to configure continous integration for such a task will take longer than the task itself

2. Plugin for jquery?
3. The console module for nodejs
Here it is possible. Naturally bildet only if the commit was. And it is desirable to add automated testing.

4. An extensive and feature-rich web application on the stack is php+js
Here you can turn around, to write an extensive and multi-functional testing, automated deployment on different test environment to testers in the morning came, and everyone already from scratch the new version is raised, a report about automated testing in the mail, and the rest - sit test. - Jeff28 commented on July 9th 19 at 13:10
: thank you very much! - karina59 commented on July 9th 19 at 13:13
July 9th 19 at 13:06
well, I do not use it , most likely it is the developers need a cms or a major (note Major) projects , as well as for a small project it is not necessary
July 9th 19 at 13:08
Breaking the build is highly undesirable, especially in the master branch!
Nightly builds need not only for the product under development, but also to track the integration with any external dependencies (using Maven, NuGet, npm...who out there that is tightened).

Seen that unit tests are run every commune (even picerni, i.e., to break them is also not desirable), but a full nightly build, Selenium tests only work with develop.
Breaking master clear is not necessary, here there is a branch "my-feature", I'm sawing it changes, the day is over, I'm not finished until the working version, but throw in git, is it necessary to compile the branch? To test? - karina59 commented on July 9th 19 at 13:11
IMHO, it is not even worth committing. And even more - to push to a shared server, where CI takes the branch to the tests. Why test a known-broken build?) - Jeff28 commented on July 9th 19 at 13:14
: it is committing, you never know what will happen and the code will add for me another. - karina59 commented on July 9th 19 at 13:17
to just not push in the master - karina59 commented on July 9th 19 at 13:20
: I would say in principle worth committing to job loss between commits are done on the cheap.
If the above works facepanel more than one person - Bild always has to gather and work properly, so committing after all it is only something completed. - Elna.Volkman92 commented on July 9th 19 at 13:23
: or at least not to push to the server in ricebran. - karina59 commented on July 9th 19 at 13:26
July 9th 19 at 13:10
Well, we for example, tests are run WITH EVERY COMMIT, not just once a day.
Once a day is already outdated.
This is from the days when software was written on the slowly compile things.
No, I'm talking about the nightly builds, not tests. - karina59 commented on July 9th 19 at 13:13

Find more questions by tags Continuous integrationProgrammingProject managementWeb Development