Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joeyates/exdm
Deploy Elixir applications via mix tasks
https://github.com/joeyates/exdm
Last synced: 24 days ago
JSON representation
Deploy Elixir applications via mix tasks
- Host: GitHub
- URL: https://github.com/joeyates/exdm
- Owner: joeyates
- License: mit
- Created: 2015-11-22T16:58:29.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-03-22T09:59:29.000Z (over 6 years ago)
- Last Synced: 2024-10-03T18:19:13.101Z (about 1 month ago)
- Language: Elixir
- Homepage:
- Size: 31.3 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- freaking_awesome_elixir - Elixir - Deploy Elixir applications via mix tasks. (Deployment)
- fucking-awesome-elixir - exdm - Deploy Elixir applications via mix tasks. (Deployment)
- awesome-elixir - exdm - Deploy Elixir applications via mix tasks. (Deployment)
README
# exdm - Elixir Deployment Manager
[![Build Status](https://api.travis-ci.org/joeyates/exdm.svg)][Continuous Integration]
[![Hex.pm Version](http://img.shields.io/hexpm/v/exdm.svg)][Hex Package][Source Code]: https://github.com/joeyates/exdm "Source code at GitHub"
[Continuous Integration]: http://travis-ci.org/joeyates/exdm "Build status by Travis-CI"
[Hex Package]: https://hex.pm/packages/exdm "Hex Package"exdm automates deployment of Elixir releases.
It provides a set of mix tasks to deploy applications, check their status and
start and stop them.Releases are pushed to remote servers and applications can be upgraded.
exdm allows the definition of multiple stages for your application, e.g.
`production`, `staging` and `ci`.# Usage
Build the release (i.e. with [distillery]):
```
MIX_ENV=prod mix release
```[distillery]: https://github.com/bitwalker/distillery
Deploy:
```
mix deployment.deploy production
```# Configuration
Add exdm to your deps in `mix.exs`:
```
defp deps do
[{:exdm, "~> 0.0.3"}]
end
```Add a section to your application config:
```
config :exdm, :production,
host: "example.com",
user: "deploy",
application_path: "/srv/my_app"
```# Other tasks
```
mix deployment.local # prints the latest release version built locally
mix deployment.remote {stage} # prints the version running on the remote host
mix deployment.can_deploy {stage} # are we ready to deploy?
mix deployment.start {stage} # start the application
mix deployment.stop {stage} # stop the application
mix deployment.is_running {stage} # prints yes/no/error
```# exdm Development
## Tests
exdm's tests use the 'espec' library.
Run tests:
```
mix espec
```## License
This project is MIT licensed. Please see the `LICENSE.md` file for more details.
The file lib/release_manager/utils.ex is
copied from the project exrm and is
copyright (c) 2014 Paul Schoenfelder