Bipbip.js is a simple tool to deploy, based on Node.js.
$ npm install -g bipbip.js@0.11.*
$ bipbip <env>
# Run prod env
$ bipbip prod
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>: {
}
}
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: "git@github.com: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
{
servers: [{
user: "User to connect the remote server",
host: "Server to deploy",
to: "Absolute path where deploy"
}]
}
{
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
}
$ npm test
bipbip.js
is a simple project. No specific or complexe features will are developped. For bugs and features, open an issue.