{"id":14155275,"url":"https://github.com/leopardslab/dunner","last_synced_at":"2025-08-29T22:13:07.712Z","repository":{"id":57506782,"uuid":"160044058","full_name":"leopardslab/dunner","owner":"leopardslab","description":"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`","archived":false,"fork":false,"pushed_at":"2020-01-22T19:04:39.000Z","size":411,"stargazers_count":71,"open_issues_count":22,"forks_count":40,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-15T11:56:05.061Z","etag":null,"topics":["devops-tools","docker","task-runner"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leopardslab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-02T12:17:26.000Z","updated_at":"2025-05-29T01:43:42.000Z","dependencies_parsed_at":"2022-08-29T20:32:00.731Z","dependency_job_id":null,"html_url":"https://github.com/leopardslab/dunner","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/leopardslab/dunner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leopardslab%2Fdunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leopardslab%2Fdunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leopardslab%2Fdunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leopardslab%2Fdunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leopardslab","download_url":"https://codeload.github.com/leopardslab/dunner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leopardslab%2Fdunner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272772757,"owners_count":24990514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops-tools","docker","task-runner"],"created_at":"2024-08-17T08:02:37.645Z","updated_at":"2025-08-29T22:13:07.688Z","avatar_url":"https://github.com/leopardslab.png","language":"Go","funding_links":[],"categories":["docker"],"sub_categories":[],"readme":"# Dunner [![Release](https://img.shields.io/github/release/leopardslab/dunner.svg)](https://img.shields.io/github/release/leopardslab/dunner.svg)\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b2275e331d2745dc9527d45efbbf2da2)](https://app.codacy.com/app/Leopardslab/dunner?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=leopardslab/dunner\u0026utm_campaign=Badge_Grade_Dashboard)\n[![Codecov branch](https://img.shields.io/codecov/c/github/leopardslab/dunner/master.svg)](https://codecov.io/gh/leopardslab/dunner)\n[![Build Status](https://travis-ci.org/leopardslab/Dunner.svg?branch=master)](https://travis-ci.org/leopardslab/Dunner)\n[![GoDoc](https://godoc.org/github.com/leopardslab/dunner?status.svg)](https://godoc.org/github.com/leopardslab/dunner)\n[![GoReport](https://goreportcard.com/badge/github.com/leopardslab/dunner)](https://goreportcard.com/report/github.com/leopardslab/dunner)\n[![Join the chat at https://gitter.im/LeaopardLabs/Dunner](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/LeaopardLabs/Dunner)\n\n\u003e The Docker Task Runner\n\nDunner is a task runner tool based on Docker, simple and flexible. You can define tasks and configure the environment in your `.dunner.yaml` file and then run as `dunner do \u003ctaskname\u003e`.\n\nExample `.dunner.yaml`:\n\n```yaml\nenvs:\n  - AWS_ACCESS_KEY_ID=`$AWS_KEY`\n  - AWS_SECRET_ACCESS_KEY=`$AWS_SECRET`\n  - AWS_DEFAULT_REGION=us-east1\ntasks:\n  deploy:\n    steps:\n      - image: 'emeraldsquad/sonar-scanner'\n        commands:\n          - ['sonar', 'scan']\n      - image: 'golang'\n        commands:\n          - ['go', 'install']\n      - image: 'mesosphere/aws-cli'\n        commands:\n          - ['aws', 'elasticbeanstalk update-application --application-name myapp']\n      - follow: 'status' #This refers to another task and can pass args too\n        args: 'prod'\n  status:\n    steps:\n      - image: 'mesosphere/aws-cli'\n        commands:\n          # This uses args passed to the task, `$1` means first arg\n          - ['aws', 'elasticbeanstalk describe-events --environment-name $1']\n```\n\nRunning `dunner do deploy` from command-line executes `deploy` task inside a Docker container. It creates a Docker container using specified image, executes given commands and shows results, all with just simple configuration!\n\n\n## Features\n\n* [Easy Configuration](https://github.com/leopardslab/dunner/wiki/User-Guide#how-to-write-a-dunner-file) to run tasks inside container\n* [Multiple commands](https://github.com/leopardslab/dunner/wiki/User-Guide#multiple-commands)\n* [Mount external directories](https://github.com/leopardslab/dunner/wiki/User-Guide#mounting-external-directories)\n* [Environment Variables](https://github.com/leopardslab/dunner/wiki/User-Guide#exporting-environment-variables)\n* [Pass arguments through CLI](https://github.com/leopardslab/dunner/wiki/User-Guide#passing-arguments-through-cli)\n* [Add dependent task](https://github.com/leopardslab/dunner/wiki/User-Guide#use-a-task-as-a-step-for-another-task)\n* [Asynchronous mode](https://github.com/leopardslab/dunner/wiki/User-Guide#asynchronous-mode)\n* [Dry Run](https://github.com/leopardslab/dunner/wiki/User-Guide#dry-run)\n\nand [more](https://github.com/leopardslab/dunner/wiki/User-Guide)...\n\n# Getting Started\n\nRead more about [Why Dunner](https://github.com/leopardslab/dunner/wiki/Introduction-to-Dunner) and refer our guides for [installation](https://github.com/leopardslab/Dunner/wiki/Installation-Guide) and [usage](https://github.com/leopardslab/dunner/wiki/User-Guide).\n\n| [**User Documentation**](https://github.com/leopardslab/dunner/wiki/User-Guide)     | [**Installation Guide**](https://github.com/leopardslab/dunner/wiki/Installation-Guide)     | [**Dunner Examples**](https://github.com/leopardslab/dunner-cookbook)           | [**Contributing**](https://github.com/leopardslab/dunner/wiki/Developer-Guide)           | [**Dunner GoCD Plugin**](https://github.com/leopardslab/dunner-gocd-plugin#dunner-gocd-plugin)           | \n|:-------------------------------------:|:-------------------------------:|:-----------------------------------:|:---------------------------------------------:| :--------------------------------------:|\n| Learn more about using Dunner | Getting started with Dunner | Dunner Cookbook Recipes | How can you contribute to Dunner? | Have a look at Dunner [GoCD](https://www.gocd.org/) Plugin |\n\n\n## Development Plan\n\nHave a look at [Dunner Milestones](https://github.com/leopardslab/dunner/milestones) for our future plans.\n\n\n## Contributing\n\nWe'd love your help to fix bugs and add features. The maintainers actively manage the issues list, and try to highlight issues suitable for newcomers. The project follows the typical GitHub pull request model. Before starting any work, please either comment on an existing issue, or file a new one. Refer our [Developer Guide](https://github.com/leopardslab/dunner/wiki/Developer-Guide) for more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleopardslab%2Fdunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleopardslab%2Fdunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleopardslab%2Fdunner/lists"}