Elixir Continuous Integration Now Available on Semaphore

It’s our pleasure to announce that, as of today, Semaphore officially supports continuous integration and deployment of Elixir applications.

Elixir: Functional programming for everyone

Elixir was born out of the need for better concurency and higher productivity in the rock solid Erlang virtual machine called BEAM. Deriving from the fact that it compiles to Erlang bytecode, it has access to all existing features of Erlang, while having zero impact on runtime. One of its key features is the support for metaprogramming, giving you the freedom to access even [abstract syntax trees] (http://en.wikipedia.org/wiki/Abstract_syntax_tree) (AST), if fiddling with things on the compiler level is your thing. Another big benefit is polymorphism, which is a real rarity in the functional programming world.

Summing all these things up, we get a fast, flexible and welcoming functional programming language aimed towards the development of fault-tolerant, distributed applications of any size.

Continuous Integration for Elixir Projects

After you have signed up for an account, select your repository from the list, and then select the first branch which will be built.

Select Elixir project for CI on Semaphore

By default, new branches will be added automatically when you push them to your git repository server git repository server, such as GitHub and Bitbucket. There’s also an option to add branches manually on the project’s dashboard later on.

Branch selection for an Elixir project on Semaphore

A quick analysis will detect your repository’s language, after which Semaphore will present some commands, which will run during the build process. You are free to modify these commands at any time in project settings.

Analysis of an Elixir project on Semaphore

Semaphore account, you’re ready to add your first Elixir project.

Projects can be created from source code hosted either on GitHub or BitBucket.

mix build tool is available in the Semaphore platform out-of-the-box. Hex packages are cached between builds, which ensures that your builds are as time-efficient as possible.

The last step you need to take is triggering the build process. After a short while, you can see the results of the build. It passed!

Successful build of an Elixir project on Semaphore

Thanks to projects like Phoenix, Dynamo and others, the vibrant Elixir community is rapidly growing. Testing frameworks like ExUnit and Amrita make it possible to have a pleasant workflow which incorporates continuous integration and deployment practices.

Happy building!

Leave a Reply

Your email address will not be published. Required fields are marked *

Sign up for a weekly Semaphore newsletter