How to set up CI for an Elixir Project?

A step-by-step tutorial on how to set up CI for an Elixir Project
03 August 2017   1067
Continuous Integration

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. 

ElixirLangMoscow Meetup #7

Meetup will be held on February 15th, Thursday, in Moscow, Pyatnitsky Lane 2
22 January 2018   746

Club ElixirLangMoscow invites all lovers of Elixir, Erlang and functional programming languages to the next meeting of our club. This time the event was decided to be held in the "Dear, I will call back" bar. Because, what could be better than listening to interesting reports for a glass of beer. And even in the company of friends!


We are waiting for two cool reports and a free microphone for those who have something to say.

Dmitry Rubinstein

Topic: “Introduction to Agala

Dmitry Rubinstein
Dmitry Rubinstein

The report will highlight the Agala framework - a platform for real-time interaction with third-party services. Currently, this platform has implemented bots for Telegram and Vk, which are used in the combat environment in our company. Let's analyze the main differences from the known solutions for creating bots on Elixir, consider the internal structure of the platform and learn how to support any necessary third-party service.

Dmitry Rubinstein

Alexandr Shorin 

Topic: “Apache CouchDB: more than a database with HTTP API

Alexandr Shorin
Alexandr Shorin

This will be an introductory report with Apache CouchDB and its ecosystem. Main features and capabilities. Details of the implementation of the replication protocol and why this is important. Forks: Couchbase, Cloudant - what are the differences and why should not they be confused with the original project. The history of clustering, what happened in the end in 2.0 and how it works. What is interesting about the new release and where the project is heading.

Alexandr Shorin 

As a pleasant chip, the bar will prepare an "Elixir" cocktail especially for us. Admission is free, everyone pays their bill.

The event has an age limit of 18+. Register for free.