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 whereakdattempts to fetch the source-code which corresponds to a release (deployed app). This can be done by usinggit,svnor justscp.init: In this phaseakdinitializes and configures the libraries required for the rest of the deployment process. For an elixir app, it can be configuringdistilleryordocker.build: In this phaseakdproduces a deployable entity. It can be a binary produced by distillery or source code itself or even a docker image.publish: In this phaseakdpublishes/deploys the app to the desired destination. This can be done byscp,cpetc.stop: In this phaseakdstops a previously running instance of the app. (This is not required for zero downtime apps)start: In this phaseakdstarts 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