API Reference Mate v0.1.7
Modules
The configuration for mate deployments is stored in your applications root
directory, in a file named .mate.exs
. This uses import Config
as you might
already be used to.
This is the behaviour for Mate Drivers.
The Docker driver is used to execute commands via Docker.
The Local driver is used to execute commands on your local machine.
The SSH driver is used to execute commands via SSH.
The Test driver is used for testing.
This module contains helper functions that can be used to execute commands
on the local machine, or the remote machine using the configured driver ƒrom
.mate.exs
. It also have functions to copy files from or to the remote server.
This module keeps track of the build and deploy pipelines.
This behaviour is used for every step in the pipeline
This module stores all information about a remote.
This module contains all relevant information to the current session when
running the mate.deploy
mix task.
This removes the specified config.clean_paths
.
Copies the release tarball from storage to remote deploy servers.
This copies the release tarball to storage.
This will create symlinks for secret configuration files like prod.secret.exs
so the build process can include them in the build.
This will run mix compile
on the build server.
This will install the mix dependencies.
This will run mix phx.digest.clean
and mix phx.digest
on the build server.
This will run mix release --overwrite
on the build server.
This will run npm run deploy
on the build server.
This will install the front-end dependencies using npm.
This will prepare the source code for building, for example when using the
Mate.Driver.SSH
driver it will push the latest commit to the build server.
This will push the current branch/commit to the build server.
Starts or restarts the new release on the remote release servers.
Starts or restarts the new release on the remote release servers.
Unarchives the release tarball on the remote deploy servers.
This will verify Elixir is available in PATH on the build server.
This verifies git both on the local machine and the build server.
This will verify node is available in PATH on the build server.
This is the behaviour for Mate Storage engines
This BuildServer Storage module can be used to store your release archives somewhere on the build-server. There could be a variety of reasons to want this, for example you could be building and deploying on the same server for small hobby projects, have a mounted network share where you want to store your release archives or perhaps hand it off to another script/program to continue your deployment pipeline, just to name a few example use cases.
This storage driver will store your release archives to your local machine, and upload them to the deploy servers from your local machine as well.
This S3 Storage module can be used to store your release archives in a
S3 bucket. This does require the addition of ex_aws
and ex_aws_s3
in your mix.exs
file, Mate does not have them as direct dependencies.
This module contains some small helper utilities.
Mix Tasks
Prints Mate tasks and their information.
Builds a new release only, no deploying.
Displays the current configuration of .mate.exs
Builds a new release and deploys it too
Creates a new mate configuration file (.mate.exs)