Continuous Integration and Delivery
Continuous Integration (CI) is a practice enabled by the technologies we have seen thus far, where developers commit their changes to a central (remote) repository as frequently as possible. The central repository detects the incoming changes and triggers automated tests against the code. Then, it compiles/builds the final product. This is done continuously, as opposed to the practice of merging and compiling on a given date before launch.
Continuous Delivery (CD) builds on top of CI, by also deploying the released product to its final location. You can configure this process to create preliminary versions of software or web applications, (for example, betas, nightly builds, etc.), and program a release date for the end location and delivery to the customers (sometimes, this last part may involve a process of its own and is called Continuous Deployment). Both services mentioned before (GitHub and GitLab) offer these types of services.
By using...