distillery - A pure Elixir implementation of release packaging functionality for the Erlang VM

  •        95

Every alchemist requires good tools, and one of the greatest tools in the alchemist's disposal is the distillery. The purpose of the distillery is to take something and break it down to its component parts, reassembling it into something better, more powerful. That is exactly what this project does - it takes your Mix project and produces an Erlang/OTP release, a distilled form of your raw application's components; a single package which can be deployed anywhere, independently of an Erlang/Elixir installation. No dependencies, no hassle. This is a pure-Elixir, dependency-free implementation of release generation for Elixir projects. It is currently a standalone package, but may be integrated into Mix at some point in the future.

https://github.com/bitwalker/distillery

Tags
Implementation
License
Platform

   




Related Projects

mix_docker - Put your Elixir app production release inside minimal docker image

  •    Elixir

and standard docker build. Put your Elixir app inside minimal Docker image. Based on alpine linux and distillery releases.

gatling - Deployment tool for Phoenix apps

  •    Elixir

The main goal of Gatling is to make it very easy, cheap, and convenient to deploy Phoenix apps. Gatling is essentially a collection of mix tasks that (from a Git push) automatically create a Distillery release and launches/upgrades it on your server.

Packr - Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X

  •    Java

Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X, adding a native executable file to make it appear like a native app. Packr is most suitable for GUI applications, such as games made with libGDX.

linuxdeployqt - Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage

  •    C++

This Linux Deployment Tool, linuxdeployqt, takes an application as input and makes it self-contained by copying in the resources that the application uses (like libraries, graphics, and plugins) into a bundle. The resulting bundle can be distributed as an AppDir or as an AppImage to users, or can be put into cross-distribution packages. It can be used as part of the build process to deploy applications written in C, C++, and other compiled languages with systems like CMake, qmake, and make. When used on Qt-based applications, it can bundle a specific minimal subset of Qt required to run the application. This tool is conceptually based on the Mac Deployment Tool, macdeployqt in the tools applications of the Qt Toolkit, but has been changed to a slightly different logic and other tools needed for Linux.

bootleg - Simple deployment and server automation for Elixir.

  •    Elixir

Simple deployment and server automation for Elixir. Bootleg is a simple set of commands that attempt to simplify building and deploying Elixir applications. The goal of the project is to provide an extensible framework that can support many different deployment scenarios with one common set of commands.


Capsule - Dead-Simple Packaging and Deployment for JVM Apps

  •    Java

Capsule is a packaging and deployment tool for JVM applications. A capsule is a single executable JAR that contains everything your application needs to run either in the form of embedded files or as declarative metadata. It can contain your JAR artifacts, your dependencies and resources, native libraries, the require JRE version, the JVM flags required to run the application well, Java or native agents and more. In short, a capsule is a self-contained JAR that knows everything there is to know about how to run your application the way it's meant to run.

exrm - Automatically generate a release for your Elixir project!

  •    Elixir

The full documentation for Exrm is located here. IMPORTANT: This project has been replaced by Distillery.

Docker - The Linux container engine

  •    Go

Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Common use cases for Docker include Automating the packaging and deployment of applications, Creation of lightweight, private PAAS environments, Automated testing and continuous integration/deployment, Deploying and scaling web apps, databases and backend services

ElixirBooks - List of Elixir books

  •    

Official Elixir starting guide that will take you through the language foundations. You will also explore how to build projects with Mix and OTP, and it will introduce you to more advanvced techniques suchs as meta-programming. Adoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you’re going to need to know more than just the language. You need the case studies and strategies in this book. Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production.

Distribution - The Docker toolset to pack, ship, store, and deliver content

  •    Go

The Docker toolset to pack, ship, store, and deliver content. This repository's main product is the Docker Registry 2.0 implementation for storing and distributing Docker images. It supersedes the docker/docker-registry project with a new API design, focused around security and performance.

swarm - Easy clustering, registration, and distribution of worker processes for Erlang/Elixir

  •    Elixir

NOTE: If you are upgrading from 1.0, be aware that the autoclustering functionality has been extracted to its own package, which you will need to depend on if you use that feature. The package is libcluster and is available on Hex. Please be sure to read over the README to make sure your config is properly updated. Swarm is a global distributed registry, offering a feature set similar to that of gproc, but architected to handle dynamic node membership and large volumes of process registrations being created/removed in short time windows.

msix-packaging - MSIX SDK

  •    C++

Copyright (c) 2017 Microsoft Corp. All rights reserved. The MSIX Packaging SDK project is an effort to enable developers on a variety of platforms to pack and unpack packages for the purposes of distribution from either the Microsoft Store, or their own content distribution networks.

Dragonfly - An Open-source P2P-based Image and File Distribution System

  •    Go

Dragonfly is an open source intelligent P2P based image and file distribution system. Its goal is to tackle all distribution problems in cloud native scenarios. It is efficient with P2P and CDN technology which reduces image distribution time significantly and expedite delivery. it supports large-scale file distribution with improved downloading speed and success rate and lower consumption of bandwidth, especially cross-IDC bandwidth.

goxc - a build tool for Go, with a focus on cross-compiling, packaging and deployment

  •    Go

a build tool for Go, with a focus on cross-compiling, packaging and deployment

rawr - Packaging and deployment for standalone JRuby apps

  •    Java

Packaging and deployment for standalone JRuby apps

IzPack - Cross-platform Installer

  •    Java

IzPack is a one-stop solution for packaging, distributing and deploying applications. It is fully cross-platform and generates a single installer. As such, it is an alternative to native solutions such as platform-specific installers and package managers. IzPack-generated installers only require a Java virtual machine to run.

libcluster - Automatic cluster formation/healing for Elixir applications

  •    Elixir

This library provides a mechanism for automatically forming clusters of Erlang nodes, with either static or dynamic node membership. It provides a publish/subscribe mechanism for cluster events so that you can easily be notified when cluster members join or leave, and provides a pluggable "strategy" system, with multicast UDP gossip, Kubernetes, and EPMD strategies all provided out of the box. View the docs here.

edeliver - Deployment for Elixir and Erlang

  •    Elixir

edeliver is based on deliver and enables you to build and deploy Elixir and Erlang applications and perform hot-code upgrades. The erlang releases are built on a remote host that is similar to the production machines. After being built, the release can then be deployed to one or more production machines.

okd - The self-managing, auto-upgrading, Kubernetes distribution for everyone

  •    HCL

OKD is the community distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. OKD adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams. OKD is also referred to as Origin in github and in the documentation. OKD makes launching Kubernetes on any cloud or bare metal a snap, simplifies running and updating clusters, and provides all of the tools to make your containerized-applications succeed. This repository covers OKD4 and newer. For older versions of OKD, see the 3.11 branch of openshift/origin.

AppImageKit - Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives

  •    C

The AppImage format is a format for packaging applications in a way that allows them to run on a variety of different target systems (base operating systems, distributions) without further modification. Using AppImageKit you can package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, Ubuntu, Fedora, Debian and derivatives.