Gittyup is a small node.js application deployment library similar to n.
Features
- Command Line Interface.
- Rollback support.
- Script testing before using.
- Start/Stop/Restart checked out apps.
- Make a slug out of your app and easily move it quickly between servers.
Command Line
gup checkout daisy --repo=https://github.com/crcn/daisy.git --branch=app-branch
gup use daisy r5 #use a particular checkout
Options
help
rollback :name Rollback a repositoriy
history :name Repo history
use :name :release Uses a repo
checkout :name :repo OR checkout :name checks out a repository
Documentation
.gittyup(rootDirectory)
root directory by default is /etc/gittyup/
var gittyup = '/etc/bonsai/garden/'app = gittyup; app; //...
.app(ops)
First argument can be either a string (app name), or object
arguments
name
- The name of the application.group
- The group the application is in.maxRecords
- Maximum number of application records to keep locally.
.app().checkout(opsOrSource, callback)
opsOrSource
- Options (object) or the repo source (string) for the app.repository
- repository of the project. Can be local directory, git repo, or .slug file
From a git repository:
gittyup;
From a generated slug:
gittyup;
From a local directory:
gittyup;
.app().process(callback)
Returns a runnable process of the current checked out item.
gittyup; ``` #### .app().test(callback) Tests the most recent checked out item. Make sure to include "scripts:test" in your package.json. Something like: ```javascript "name": "myApp" "scripts": "test": "./test"
When exiting the test program, an exit code of 0 tells gittyup the test was successful, whereas 1 tells gittyup the test failed.
.app().makeSlug(callback)
Makes a slug out of the current checkout. Use this method if you need to move the application around between servers. Once a slug is made, calling "makeSlug" on the same checkout will have no effect.
gittyup;
If you're moving the slug around, install gittyup on the other end and have something ready like this:
gittyup
.app().current(callback)
Returns Information about the current checked out item.
.app().history(callback)
Returns checkout history of the given application.
.app().use(checkoutId)
Uses a previously used checkout item without removing the current one.
.app().remove(checkoutId, callback)
Removes a checked out item.
.app().destroy(callback)
Destroys the application, and all the checked out items.