Yet another capistrano-less deployment flow for node.js applications with grunt.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Yet another capistrano-less deployment flow for node.js applications with grunt.

But attention: i would not consider it to be stable ;-) There are no tests and it's lacking a proper documentation for now, sorry!

Dependency Status


Simple example configuration with two servers:

beam: {
    stage: {
        servers: [
                host: 'server1.domain.tld',
                enterCredentials: true
                host: 'server1.domain.tld'
                host: '',
                enterCredentials: false,
                username: 'xxxx',
                privateKey: './id_rsa',
                passphrase: 'xxxxxx'
        nodeUser: 'root',
        nodeEnv: 'production',
        targetPath: '/root/apps',
        releaseArchive: 'out/<%= %>-<%= packageInfo.version %>.tar.gz'

Further configuration parameters

...and its current default options:

var beamDefaultServerOptions = {
    enterCredentials: false,
    agent: process.env.SSH_AUTH_SOCK,
    pingInterval: 3000,
    port: 22,
    username: 'root'

var beamDefaultOptions = {
    packageInfo: packageInfo,
    releaseArchive: './release.tar.gz',
    releaseArchiveTarget: 'RELEASE.tar.gz',
    releaseFolderName: 'releases',
    currentLinkName: 'current',
    logFolderName: 'logs',
    targetPath: '/var/apps',
    nodeUser: '',
    nodeEnv: '',
    nodeEnvExtras: '',
    nodeBinary: 'node',
    npmBinary: 'npm',
    npmInstallOptions: '--production',
    appCommand: packageInfo.main || 'index.js',

Supported commands

Usage:          grunt beam:<group>

Possible parameters:
--redeploy      Normal deployment but cleans target directory before
--undeploy      Will undeploy your node application. That means: stopping the application and remove all files which belong to the release. (Attention includes default log-path)
--remove        Undeploys and removes all application data
--rollback      Lets you choose a release from the server which has been deployed before
--clean         Lets you choose which old releases should be removed from the server
--restart       Restarts the application on the configured servers
--uptime        Prints the uptime on the configured servers
--log           Prints the last 20 lines of std and err log