Dapp helps implement and support Continuous Integration and Continuous Delivery.
Switch branches/tags
Clone or download
Permalink
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

README.md

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.

Contents

Features

  • 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.

License

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