Skip to content

baptistedonaux/bipbip.js

Repository files navigation

Bipbip.js - Simple deployment tool

Build Status DUB

Bipbip.js is a simple tool to deploy, based on Node.js.

Bipbip.js

Installation

$ npm install -g [email protected].*

Getting Started

Run a deployment

$ bipbip <env>

# Run prod env
$ bipbip prod

Configuration

bipbip.js takes the deploy.js default file. The file takes a default configuration and supports environments.

The environment called is merged with default environment.

exports.config = {
  default: {
  },
  <env1>: {
  },
  <env2>: {
  }
}

Environment variables

workspace: "/path/to/workspace",
// empty string in releaseDir is used to deploy current folder (workspace)
releaseDir: "",
requirements: {
    local: [],
    remote: []
},
servers: [{
  user: "user",
  host: "server_to_deploy.io",
  to: "/path/to/deploy",
  port: 22
}],
repository: {
  url: "[email protected]:baptistedonaux/bipbip.js.git",

  // branch and tag should not be sets simultaneously
  branch: null,
  tag: null,
  
  options: {
    // clone submodule
    submodules: true|false
  }
},
commands:  {
  local: [
    // local commands to run (before send to remote server)
  ],
  remote: [
    // remote commands to run (after project send to remote server)
  ],
  postDeploy: [
    // remote commands to run (after new release deployed)
  ]
},
ignores: [
  // ignore files/folders
],
shared: {
  files: [
    // files shared
  ],
  folders: [
    // folders shared
  ]
},
releases: 3

Required values

{
  servers: [{
    user: "User to connect the remote server",
    host: "Server to deploy",
    to: "Absolute path where deploy"
  }]
}

Default values

{
  workspace: require("process").cwd(),
  requirements: {
    local: [],
    remote: []
  },
  servers: [{
    port: 22
  }],
  repository: {
    branch: null,
    options: {
      submodules: false
    },
    tag: null,
    url: null
  },
  commands:  {
    local: [],
    remote: [],
    postDeploy: []
  },
  ignores: [],
  shared: {
    files: [],
    folders: []
  },
  releases: 3
}

Test

$ npm test

Contribute

bipbip.js is a simple project. No specific or complexe features will are developped. For bugs and features, open an issue.

About

Simple deployment tool based on Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •