23 Mar 2020 · Semaphore News

    Elixir Continuous Integration Now Available on Semaphore

    2 min read
    Contents

    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 *

    Avatar
    Writen by: