dunner

command module
v2.1.6+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2019 License: MIT Imports: 3 Imported by: 0

README

Dunner

Codacy Badge Codecov branch Build Status

The Docker Task Runner

Dunner is a task runner tool like Grunt but uses Docker images like CircleCI do. You can define tasks and steps of the tasks in your .dunner.yaml file and then run these steps with dunner do <taskname>.

Example .dunner.yaml

deploy:
- image: 'emeraldsquad/sonar-scanner'
  commands:
  - ['sonar', 'scan']
- image: 'golang'
  commands:
  - ['go', 'install']
- image: 'mesosphere/aws-cli'
  commands:
  - ['aws', 'elasticbeanstalk update-application --application-name myapp']
  envs: 
   - AWS_ACCESS_KEY_ID=`$AWS_KEY`
   - AWS_SECRET_ACCESS_KEY=`$AWS_SECRET`
   - AWS_DEFAULT_REGION=us-east1
- follow: 'status' #This refers to another task and can pass args too
  args: 'prod'
status:
- image: 'mesosphere/aws-cli'
  commands:
  - ['aws', 'elasticbeanstalk describe-events --environment-name $1'] 
  # This uses args passed to the task, `$1` means first arg
  envs: 
   - AWS_ACCESS_KEY_ID=`$AWS_KEY`
   - AWS_SECRET_ACCESS_KEY=`$AWS_SECRET`
   - AWS_DEFAULT_REGION=us-east1

Now you can use as,

  • dunner do deploy
  • dunner do status prod

Guides

Development Plan

v0.1
  • Ability to define set of tasks and steps and run the task
  • Mount current dir as a volume
  • Ability to pass arguments to tasks
v1.0
  • Ability to add ENV variables
  • Ability to define the sub-dir that should be mounted to the task containers
  • Ability to mount other dirs to the task containers
  • Ability to use a task as a step for another task
  • Ability to get ENV, param, etc values from host environment variables or .env file
  • Ability to install as a Snap package
v2.0
  • Ability to Dry Run
  • Ability to verfiy the .dunner.yaml file
  • Ability to define multiple commands for the same step
  • Ability to install as a Deb package
  • Ability to install as a RPM package
  • Ability to install as a Brew package

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
config
Package config is the YAML parser of the task file for Dunner.
Package config is the YAML parser of the task file for Dunner.
docker
Package docker is the interface of dunner to communicate with the Docker Engine through methods wrapping over Docker client library.
Package docker is the interface of dunner to communicate with the Docker Engine through methods wrapping over Docker client library.
dunner
Package dunner consists of the main executing functions for the Dunner application.
Package dunner consists of the main executing functions for the Dunner application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL