pmpd [puhmp-eed] is a command line interface to deploy projects that use git.
pmpd [git puhmp-eed] is a command line interface for git deployments that release engineers can use to make life easier. It is heavily influenced by Vincent Driessen’s branching model and uses a syntax similar to gitflow. Its goal is to simplify and streamline deployments of complex branching systems by making commands and actions as human-friendly as possible. It provides a simple pmpd command that allows for merging and deploying branches to any number of distinct servers that are connected by a common git server like gitolite.
- Expressive and intuitive syntax
- Makes continuous integration easier
- Release branches are pmpd out
- Identify conflicting feature branches before release time
- Automated pmpd deployments similar to Google’s AppEngine approach
- Multi server environments supported
- Distributed branching model for large group collaborations
The latest stable version of pmpd can always be installed or updated to via pip:
$ pip install --upgrade pmpd
After installation is complete pmpd puts .pmpd/config.json into the root of your repository. You may want to add the folder to .gitignore, but leaving it there is also a good way to keep track of your build history. pmpd.conf is used to relate servers to reference branches and to specify which feature branches belong in a given release.
You must fill out .pmpd/config.json so that it matches the flow of your own deployments and you’ll probably update this file in some way every time a new release is pmpd out.
$ pmpd [flags] [METHOD] [BRANCH]
See also pmpd --help
Build an alpha release based on the current state of production:
$ pmpd build alpha
Jared Hall, PyScape