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]]
],
...
end
This will cause Skitter to customize the configuration of your release to include the required configuration files and scripts.
mix skitter.new
Releases are already configured if
mix skitter.new
was 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.eex
andvm.args
files. - Add the
skitter
deploy script used to manage Skitter runtime systems. - Adds a
skitter.exs
script 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_for
option is not set. Instead, it is set to[:unix]
. - The
:rel_templates_path
option is not set. Instead, it is set to point to a directory containing Skitter specificenv.sh.eex
andvm.args.eex
files.