Skip to content
Dunner is a task runner tool like Grunt but used 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`
Go Shell Makefile
Branch: master
Clone or download
agentmilindu Merge pull request #95 from leopardslab/develop
Merge Release v1.2.3 to master
Latest commit 3038429 Jul 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Add issue templates Dec 29, 2018
cmd organize code so cobra is not used in pkg May 26, 2019
internal Add optional tag in dunner template May 26, 2019
pkg
release
.dunner.yaml
.gitignore
.goreleaser.yml Undo release of dunner via dunner as goreleaser is working fine with … Jul 4, 2019
.travis.yml remove unwanted commands from travis script Jul 4, 2019
Gopkg.lock
Gopkg.toml Merge remote-tracking branch 'upstream/develop' May 15, 2019
LICENSE
Makefile
README.md
main.go Resolve settings intialisation bug May 16, 2019
snap.login.enc Added snap.login.enc for SnapCraft auto build on Travis CI May 26, 2019

README.md

Dunner

Codacy Badge Codecov branch Build Status

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,

  1. dunner do deploy
  2. dunner do status prod

NOTE

This work is still in progress. See the development plan.

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

Guides

You can’t perform that action at this time.