Skip to content

Lightweight & fast deployment tools tuned for Nodejs project, inspired from Mina and minco

Notifications You must be signed in to change notification settings

fanweixiao/mina

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mina NPM version bitHound Score Gitter

NPM

A simple deploy tool inspired by mina, based on minco. This project is powered by node, forcus on quick and lightweight deployment and server automation over ssh for node projects.

Latest Version

v1.0.9

Installation

Make sure you have installed node.js including NPM

sudo npm install -g mina

Bash completion

Add this to your .bashrc, In this version only support bash

eval "$(mina completion=bash)"

Usage

# Create an example deploy.json
mina init

# Adjust it to your needs in deploy.json
{
    # Servers to deploy to
    "server": ["user@host1","user@host2"]
    # Port
    , "port": 13
    # Deploy to this dir on server
    , "server_dir": "/path/to/dir/on/server"
    # Git repository, only support git right now
    , "repo": "[email protected]:user/repo.git"
    # If you have more than one project in your git repo,
    # e.g. "projects/project_luna"
    , "prj_git_relative_dir": ""
    # Branch to be checkout and deploy
    , "branch": "master"
    # If remove git cloned directory then git clone again,
    # default is false
    , "force_regenerate_git_dir": false
    # Directories of your project in this array will use a
    # symbolic instead create every time when run deploy
    , "shared_dirs": ["node_modules", "db"]
    # How many release snapshots keep away from auto cleanup,
    # default is 10 if not presents
    , "history_releases_count": 10
    # Run customize scripts before run
    , "prerun": [
      "npm install",
      "npm test"
    ]
    # Start run your project
    , "run_cmd": "npm start"
}

# Deploy
mina deploy

# Or, indicate deploy config file
MINA_CONFIG=deploy_scripts/to_dev.json mina deploy

Keep in mind...

  • You have to ensure the username used for ssh have permission for operating directories
  • You have to ensure the remote server could execute git clone, that's means git-core must be installed, and, can clone the project from you git-repo.

Contributors

About

Lightweight & fast deployment tools tuned for Nodejs project, inspired from Mina and minco

Resources

Stars

Watchers

Forks

Packages

No packages published