A simple command line utility that aims to make deploying Meteor applications to self-hosted infrastructure as easy as possible.
MIT License
#meteor-deployment-manager Meteor Deployment Manager (or MDM for short) is a command line tool intended to automate the process of deploying your Meteor applications to self-hosted infrastructure like Amazon EC2.
NB: You have found this project in its infancy. The best documentation at the moment is the source code, so check it out!
##Features
##How it works
MDM makes itself available with the mdm
command line program. By default, it looks for a deployment configuration file named deploy.json
in the current working directory. You can change this behaviour with the --project-path
and --config-file
command line options.
Usage:
$ mdm [command] [options]
For a full list of available command line options, please execute mdm --help
.
###1. mdm deploy
The deploy
command is used to deploy changes you have made to a remote server.
It performs the following operations:
buildsToKeep
configuration option).meteor
or mrt
(if you're using Meteorite) to bundle the latest source into a tarball.current
symbolic link to latest build directory.###2. mdm rollback
The rollback
command is used to roll back an erroneous deployment.
It performs the following operations:
current
symbolic link to the second most recent build directory###3. mdm generate
The generate
command is used to create a sample deploy.json
file in the current working directory. You should customise this file to suit your requirements.
####Sample Deployment Configuration
You can find a sample deploy.json
file on GitHub: https://github.com/chriswessels/meteor-deployment-manager/blob/master/lib/sample_deploy.json
###4. mdm start
The start
command is used to start the instance of Node.js associated with your application (via the Upstart script).
###5. mdm stop
The stop
command is used to stop the instance of Node.js associated with your application (via the Upstart script).
###6. mdm restart
The restart
command is used to restart the instance of Node.js associated with your application (via the Upstart script).
##Installation
MDM is installed using the Node Package Manager command line tool. MDM should be installed with the global flag (-g) to ensure that it is available within any Meteor application directory you might want to deploy.
Install MDM with the following command:
$ npm install -g meteor-deployment-manager
##Project and server requirements
MDM assumes that your project and server set up conforms to a set of requirements:
origin
remote.###Server directory structure
app_root # This is specified in deploy.json as deploymentDirectory.
app_root/source # This directory contains the source code for your project.
app_root/working # This directory is used as a bundling directory.
app_root/builds # This directory contains the project builds made by MDM.
app_root/builds/timestamp # These directories contain the extracted bundle tarball.
app_root/builds/current # This is a symbolic link to the current build directory.
Looking for a guide to set up your server for use with MDM? Look here: https://gist.github.com/chriswessels/6540167.
##Contributions
##License
The code for this project is released under the MIT License. Please see the LICENSE
file.