View Source Skitter.Release (Skitter v0.7.1)
Utilities for building Skitter releases.
Releases (mix release) are used to deploy Skitter applications over a cluster. Skitter
includes several configuration files and scripts to customize the generated release and to
faciliate its distribution. In order for your application to use these scripts, your release
configuration should use the step/1 function defined in this module:
def project do
...,
releases: [
<your_release_name>: [steps: [&Skitter.Release.step/1, :assemble]]
],
...
endThis will cause Skitter to customize the configuration of your release to include the required configuration files and scripts.
mix skitter.newReleases are already configured if
mix skitter.newwas used to create the Skitter project.
Please refer to the deployment page for more information about Skitter releases and how to use them.
Summary
Functions
Customize the release assembly.
This function customizes the configuration of a release to include several Skitter configuration files and scripts. Concretely, it makes the following modifications:
- Modify the release to only include unix executables.
- Add Skitter-specific
env.sh.eexandvm.argsfiles. - Add the
skitterdeploy script used to manage Skitter runtime systems. - Adds a
skitter.exsscript which is used to configure the Skitter runtime before it starts.
This function should be added to the steps configuration of your release before the
:assemble step. It is best to include it after any other steps, as this enables the function
to verify that the Skitter generated configuration does not overwrite user-provided
configuration values.
The following assumptions about your release configuration are made:
- The
:include_executables_foroption is not set. Instead, it is set to[:unix]. - The
:rel_templates_pathoption is not set. Instead, it is set to point to a directory containing Skitter specificenv.sh.eexandvm.args.eexfiles.