@jondotsoy/bert

0.0.3 • Public • Published

🍹 Bert

A task manager inspired on Gulp.

This document content the specifications to build the client to Bert.

Quick start

Step 1: Write a .bert.js file

const bert = require('bert')

const node = bert.agent('node', {image: 'node:7.7.0'})

bert.task('taskInfo', () => {
    node.sh('node --version') 
    bert.sh('node --version') 
})

Run the task

$ bert -V taskInfo
[bert] Prepare agent node (node:7.7.0)
[bert:run] > docker pull node:7.7.0
[bert:run] > docker run -t -d -u 112:116 -w ******** -v ******** -v ******** -e ******** --entrypoint cat node:7.7.0
[bert:run] node> node --version
v7.7.0
[bert:run] > node --version
v7.6.0

Run the task on clear environment

$ bert -V --empty taskInfo
[WARNING] This is not possible load local agent without docker.
[bert] Prepare agent node (node:7.7.0)
[bert:run] > docker pull node:7.7.0
[bert:run] > docker run -t -d -u 112:116 -w ******** -v ******** -v ******** -e ******** --entrypoint cat node:7.7.0
[bert:run] node> node --version
v7.7.0

Run silet task

$ bert taskInfo
node> node --version
v7.7.0
> node --version
v7.6.0

Optional: Clear rm you agents

$ bert -V --clear
[bert] Prepare to remove node (node:7.7.0)
[bert:run] > docker stop --time=1 ********
[bert:run] > docker rm -f ********

Features (Commands):

  • [ ] Help
  • [ ] Init a project with Bert

Feature: Help

Show a list to help.

$ bert [help|h|--help|-h]

Feature: Init

Initialize a Bert file (.bert.js).

$ bert init

Espect .bert.js file

const bert = require('bert')

/* EXAMPLES WITH DOCKER */
/* ==================== */

bert.stage('node')
// CMD Equivalent: docker create node:latest
/* Content .bertlook.json
{
  "stages": {
    "node": "36c4536996ca5615dcf9911f068786dc/a441b15fe9a3cf56661190a0b93b9dec7d04127288cc87250967cf3b52894d11"
  }
}
*/

bert.stage('node', {
  image: 'node:7.7.0'
})
// CMD Equivalent: docker create  node:7.7.0
/* Content .bertlook.json
{
  "stages": {
    "node": "36c4536996ca5615dcf9911f068786dc/a441b15fe9a3cf56661190a0b93b9dec7d04127288cc87250967cf3b52894d11"
  }
}
*/

bert.stage('node', {
  tag: '7.7.0'
})
// CMD Equivalent: docker create node:7.7.0
/* Content .bertlook.json
{
  "stages": {
    "node": "36c4536996ca5615dcf9911f068786dc/a441b15fe9a3cf56661190a0b93b9dec7d04127288cc87250967cf3b52894d11"
  }
}
*/

bert.stage('pepe', {
  image: 'node:7.7.0'
})
// CMD Equivalent: docker create node:7.7.0
/* Content .bertlook.json
{
  "stages": {
    "pepe": "36c4536996ca5615dcf9911f068786dc/a441b15fe9a3cf56661190a0b93b9dec7d04127288cc87250967cf3b52894d11"
  }
}
*/

What is an Agent

Project Structure

  • bin/: The script to use bert on console.
  • lib/:
    • dotBert/: Working with the .bert.js file.
    • engine/: Working with the diferent engines.
      • docker/: working with the docker engine.

Readme

Keywords

none

Package Sidebar

Install

npm i @jondotsoy/bert

Weekly Downloads

1

Version

0.0.3

License

MIT

Last publish

Collaborators

  • jondotsoy