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
-
Ruby version 2.1 or later:
Ruby installation.
-
Docker version 1.10.0 or later:
Docker installation.
-
сmake and pkg-config (required to install rugged
gem):
on Ubuntu:
apt-get install cmake pkg-config
on Centos:
yum install cmake pkgconfig
-
libssh2 header files to work with git via SSH.
on Ubuntu:
apt-get install libssh2-1-dev
on Centos:
yum install libssh2-devel
-
libssl header files to work with git via HTTPS.
on Ubuntu:
apt-get install libssl-dev
on Centos:
yum install openssl-devel
-
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.