The practice of merging all developer working copies to a shared mainline several times a day
Continuous Integration (CI) is the practice of software development, which consists in merging working copies into a common main development branch several times a day and performing frequent automated project assemblies to identify and solve integration problems as quickly as possible. In the usual project, where developers work independently on different parts of the system, the integration stage is final. It can unpredictably delay the completion of work. The transition to continuous integration can reduce the complexity of integration and make it more predictable due to the earliest detection and elimination of errors and contradictions.
CI is an integral part of modern software development process. There are big amount of CI solutions on the market, even cloud-based product is available - Vexor.
If you need to set a CI for an Elixir project, Semaphore can be a solution. With Semaphore, you can easily automate the process of software testing and delivery in the cloud. It is designed to be easy to use and engineered for high performance. Docker support also included.
In this tutorial, you will learn how to set up continuous integration for an Elixir project using Semaphore. The example project you will be working on is Firestorm, an open-source forum engine, with an Elixir Phoenix backend, and an Elm frontend. It has step-by-step instructions with screenshots and code examples.