Coder Social home page Coder Social logo

exrm's Introduction

Elixir Release Manager

Build Status Hex.pm Version Coverage Status

The full documentation for Exrm is located here.

Thanks to @tylerflint for the original Makefile, rel.config, and runner script which inspired this project!

Usage

You can build a release with the release task:

  • mix release

This task constructs the complete release for you. The output is sent to rel/<project>. To see what flags you can pass to this task, use mix help release.

One really cool thing you can do is mix release --dev. This will symlink your application's code into the release, allowing you to make code changes, recompile with MIX_ENV=prod mix compile, and rerun your release with rel/<project>/bin/<project> console to see the changes. Being able to rapidly test and tweak your release like this goes a long way to making the release process less tedious!

  • mix release.clean [--implode]

Without args, this will clean up the release corresponding to the current project version.

With --implode, all releases, configuration, generated tools, etc., will be cleaned up, leaving your project directory the same as if exrm had never been run. This is a destructive operation, as you can't get your releases back unless they were source-controlled, so exrm will ask you for confirmation before proceeding with the cleanup.

NOTE: Umbrella projects work a little differently. Each sub-project is built into it's own release, but contains all of it's dependencies

Getting Started

This project's goal is to make releases with Elixir projects a breeze. It is composed of a mix task, and build files required to successfully take your Elixir project and perform a release build, and a simplified configuration mechanism which integrates with your current configuration and makes it easy for your operations group to configure the release once deployed. All you have to do to get started is the following:

Add exrm as a dependency to your project

  defp deps do
    [{:exrm, "~> x.x.x"}]
  end

Plugins

There is a simple API to build plugins with - it allows the plugin developer to add additional steps to the release process. You can read more about that here.

You can find plugins others have worked on by searching for "exrm" in hex.pm.

Here's a non-exhaustive list you might want to try out:

License

This project is MIT licensed. Please see the LICENSE.md file for more details.

exrm's People

Contributors

0xax avatar alco avatar asaaki avatar bitwalker avatar eproxus avatar hashnuke avatar janjiss avatar keichan34 avatar kosmas avatar lexmag avatar lowks avatar markschmidt avatar msch avatar msnexploder avatar msysyamamoto avatar niku avatar pdericson avatar scrogson avatar shankardevy avatar skirino avatar smpallen99 avatar surik avatar thijswouters avatar tsharju avatar tverlaan avatar tylerflint avatar umatomba avatar upbit avatar vishnevskiy avatar zztczcx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.