View Source Edeliver (edeliver v1.9.2)
Execute edeliver tasks on the production / staging nodes.
This internal module provides functions on the nodes which are
used by some edeliver tasks e.g. to get the running release version
(edeliver version
), show the pending migrations
(edeliver show migrations
) or install pending migrations
(edeliver migrate
).
In addition it represents the edeliver application callback module
and starts a process registered locally as Edeliver
which's onliest
purpose is to be able to detect whether the release was successfully
started. This requires to start edeliver as last application in the
release.
Link to this section Summary
Functions
Returns a specification to start this module under a supervisor.
Callback implementation for GenServer.init/1
.
Prints the pending ecto migrations
Runs the pending ecto migrations
Returns the current directory containing the ecto migrations.
Waits until the edeliver application is started.
Returns the running release version
Runs the edeliver command on the erlang node
Starts the edeliver application
Starts this gen-server registered locally as Edeliver
Link to this section Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
Callback implementation for GenServer.init/1
.
list_pending_migrations(application_name, application_version, ecto_repository \\ [])
View SourcePrints the pending ecto migrations
migrate(application_name, application_version, ecto_repository, direction, migration_version \\ :all)
View SourceRuns the pending ecto migrations
Returns the current directory containing the ecto migrations.
@spec monitor_startup_progress(application_name :: atom()) :: :ok
Waits until the edeliver application is started.
If the edeliver application is added as last application in the :applications
section of
the application/0
fun in the mix.exs
this waits until all applications are started.
This can be used as rpc call after running the asynchronous bin/$APP start
command to
wait until all applications started and then return ok
.
Returns the running release version
which is either the :current
version or the :permanent
version.
Runs the edeliver command on the erlang node
started as:
bin/$APP rpc 'Elixir.Edeliver.run_command('[command_name, "$APP", arguments...])'
The first argument must be the name of the command, the second argument the name of the main application and all further arguments are passed to the function that's name is equal to the command name.
Starts the edeliver application
including the Edeliver.Supervisor
process supervising the
Edeliver
generic server.
@spec start_link() :: {:ok, pid()}
Starts this gen-server registered locally as Edeliver