What is the difference between build and release?

In the context of software development, a build is a version of the software that has been compiled and is ready for testing or deployment. A release, on the other hand, is a version of the software that has been formally distributed to users. Both are part of the continuous integration and continuous deployment process.

The process of building software involves compiling the source code into an executable form, as well as performing other activities such as running tests, creating documentation, and packaging the software for distribution. The result of this process is a build of the software, which is typically made available to testers or developers for further testing and debugging.

Then the software is made available for download, distributed through an app store or other distribution channel, or installed on users' systems. At this stage, the software version is called a “release” as opposed to a “build”.

In general, the process of building software involves creating a build, which is then tested and debugged. Once the build has been tested and is deemed to be of sufficient quality, it can be released to users. The process of releasing software typically involves additional activities such as creating release notes, performing final testing and quality assurance, and communicating the release to users.