Dapp helps implement and support Continuous Integration and Continuous Delivery.
Switch branches/tags
Clone or download
Failed to load latest commit information.
bin Handle gitlab-job cancel as SIGINT Jul 9, 2018
cmd way2go docker_registry Sep 10, 2018
config/en way2go docker_registry Sep 10, 2018
dappdeps (ansible) Extend ansible supported modules Mar 7, 2018
docs doc: publications Sep 18, 2018
lib 0.35.5 Sep 17, 2018
osx [osx] Working example Vagrantfile with osx environment for dapp building Jul 5, 2018
pkg (go-deeper) GitArtifact archive creation with git-util Sep 17, 2018
playground (go-deeper) GitArtifact archive creation with git-util Sep 17, 2018
samples samples: add ci_version sample Jul 11, 2018
spec Merge remote-tracking branch 'origin/master' into way2go Aug 3, 2018
.codeclimate.yml .codeclimate Dec 21, 2017
.editorconfig go, rb, md filetypes in editorconfig Mar 7, 2018
.gitignore (doc) Add info about why DAPP_FORCE_SAVE_CACHE is dangerous Aug 29, 2018
.overcommit.yml Add rubocop and overcommit Mar 8, 2016
.rubocop.yml Рефакторинг resolved #41 Mar 2, 2017
.travis.yml (travis) Do not cache gopath Aug 24, 2018
Gemfile Fix gem building Mar 8, 2016
LICENSE LICENSE: Apache v2 Jul 18, 2017
README-dev.md translate intro and ansible tutorial; fix dev-readme Aug 14, 2018
README.md (doc) Add info about git-util dependency Sep 12, 2018
Rakefile [ci] Use publish.sh to deploy on tags using travis Jul 2, 2018
dapp.gemspec dapp.gemspec: up rugged Jun 19, 2018
go-build.sh way2go docker_registry Sep 10, 2018
go-env way2go docker_registry Sep 10, 2018
go-get.sh go-get.sh: github.com/docker/cli v18.06.0-ce-rc3 Jul 19, 2018
install.sh Упрощение dapp-update cron: использование последнего из установленных… Nov 3, 2017
logo.png logo May 26, 2017
publish.sh (publish) Optimize publishing process Aug 24, 2018
rolling-versions (rolling-versions) latest 0.34 Sep 20, 2018
travis_dappdeps_caching.sh \[ci skip tests\]" для выключения загрузки dappdeps из кеша Nov 28, 2017


Gem Version Build Status Code Climate Test Coverage

Dapp is made to implement and support Continuous Integration and Continuous Delivery (CI/CD).

It helps DevOps engineers generate and deploy images by linking together:

  • application code (with Git support),
  • infrastructure code (with Ansible or shell scripts), and
  • platform as a service (Kubernetes).

Dapp simplifies development of build scripts, reduces commit build time and automates deployment. It is designed to make engineer's work fast end efficient.



  • Reducing average build time.
  • Sharing a common cache between builds.
  • Running distributed builds with common registry.
  • Reducing image size by detaching source data and build tools.
  • Building images with Ansible and shell scripts.
  • Building multiple images from one description.
  • Advanced tools for debugging built images.
  • Deploying to Kubernetes via helm, the Kubernetes package manager.
  • Tools for cleaning both local and remote Docker registry caches.

Requirements and Installation

Dapp requires a Linux operating system. Support for macOS is coming soon (see issue #661).

Install Dependencies

  1. Ruby version 2.1 or later: Ruby installation.

  2. Docker version 1.10.0 or later: Docker installation.

  3. сmake (required to install rugged gem):

    on Ubuntu:

    apt-get install cmake

    on Centos:

    yum install cmake
  4. libssh2 header files to work with git via SSH.

    on Ubuntu:

    apt-get install libssh2-1-dev

    on Centos:

    yum install libssh2-devel
  5. libssl header files to work with git via HTTPS.

    on Ubuntu:

    apt-get install libssl-dev

    on Centos:

    yum install openssl-devel
  6. Git command line utility.

    Minimal required version is 1.9.0. To use git submodules minimal version is 2.14.0.

    on Ubuntu:

    apt-get install git

    on Centos:

    yum install git

Install dapp

gem install dapp

Now you have dapp installed. Check it with dapp --version.

Time to make your first dapp application!

Docs and Support

The dapp documentation is available at flant.github.io/dapp.

You can ask for support in dapp chat in Telegram.


Dapp is published under Apache License v2.0. See LICENSE for details.