Akd v0.3.0 Akd View Source
A framework that makes elixir deployments a breeze. It's highly configurable, yet easy to set up.
Although Akd is mainly written for deploying elixir apps, it can be used for any server automation process or deploying non-elixir apps.
Akd comes with DSL which make writing automated deployments much simpler, and mix tasks with generators which allow the use of that DSL easier.
Akd, by default, has multiple phases for deploying an application:
fetch
: This is whereakd
attempts to fetch the source-code which corresponds to a release (deployed app). This can be done by usinggit
,svn
or justscp
.init
: In this phaseakd
initializes and configures the libraries required for the rest of the deployment process. For an elixir app, it can be configuringdistillery
ordocker
.build
: In this phaseakd
produces a deployable entity. It can be a binary produced by distillery or source code itself or even a docker image.publish
: In this phaseakd
publishes/deploys the app to the desired destination. This can be done byscp
,cp
etc.stop
: In this phaseakd
stops a previously running instance of the app. (This is not required for zero downtime apps)start
: In this phaseakd
starts a newly deployed instance of the app.
Each of these phases accomplish what they do through Akd.Hook
and
Akd.Dsl.FormHook
.
Link to this section Summary
Functions
:build
can be set as a runtime config
in the config.exs
file
:fetch
can be set as a runtime config
in the config.exs
file
:init
can be set as a runtime config
in the config.exs
file
:publish
can be set as a runtime config
in the config.exs
file
:start
can be set as a runtime config
in the config.exs
file
:stop
can be set as a runtime config
in the config.exs
file
Link to this section Functions
build() View Source
:build
can be set as a runtime config
in the config.exs
file
Examples
when no build
config is set, it returns Akd.Build.Distillery
iex> Akd.build
Akd.Build.Distillery
fetch() View Source
:fetch
can be set as a runtime config
in the config.exs
file
Examples
when no fetch
config is set, it returns Akd.Fetch.Git
iex> Akd.fetch
Akd.Fetch.Git
init() View Source
:init
can be set as a runtime config
in the config.exs
file
Examples
when no init
config is set, it returns Akd.Init.Distillery
iex> Akd.init
Akd.Init.Distillery
publish() View Source
:publish
can be set as a runtime config
in the config.exs
file
Examples
when no publish
config is set, it returns Akd.Publish.Distillery
iex> Akd.publish
Akd.Publish.Distillery
start() View Source
:start
can be set as a runtime config
in the config.exs
file
Examples
when no start
config is set, it returns Akd.Start.Distillery
iex> Akd.start
Akd.Start.Distillery
stop() View Source
:stop
can be set as a runtime config
in the config.exs
file
Examples
when no stop
config is set, it returns Akd.Stop.Distillery
iex> Akd.stop
Akd.Stop.Distillery