Dick the Deployer
Continuous Delivery Service
Dick the Deployer enables scalable and easy Continuous Delivery.
You will need machine with Docker and about three minutes.
There is a deploy script provided on the Web Repository meant
for quick installation.
Note: you must already have a Docker available.
curl https://dickthedeployer.com/deploy | bash -s
After installation of database and web module follow printed instructions for worker installation.
For full options:
curl -s https://dickthedeployer.com/deploy | bash -s -- -h
Full docs are available at http://dickthedeployer.com.
Why another CD tool?
Nowadays there exists several good, fully-blown tools for Continuous Integration. Unfortunately these tools are built in a way that makes it really hard to build Continuous Delivery process around them, lacking scalability, pipelines or quick and easy configuration.
Dick the Deployer addresses these issues, providing relatively simple on-premises service. Main features delivered by Dick are:
- High Scalability through distributed architecture.
- Reactive interface.
- Familiar concepts like projects and groups.
- Configuration stored inside the project repository.
Basic Compile and Test
To build the source you will need to install JDK 1.8.
Dick the Deployer uses maven for most buil-related tasks, so you should be able to start by cloning the project and
How to develop
As Dick the Deployer uses database you should have PostgresDB up and running. You can configure connection settings
The easiest way to run the project locally though is using debugger. This setup requires breakpoint in any context-based test,
changing breakpoint mode to
Suspend: thread and simply debugging that test. In this case Dick will be using H2 database.
Front-end is based on node and grunt, and uses proxy server to communicate with Dick the Deployer. To start
the front-end project you need to have Dick the Deployer working (normally or suspended on debugger), and then start
grunt serve task in
dick-ui/nodejs/ directory. Please note that during the build node, npm and grunt are downloaded
from the web, and located in
Dick the Deployer consists of three modules:
Web is a java-based application used to present and manage pipelines, assign jobs and present results.
Worker is a java-based application responsible for building jobs fetched from
Web uses postgres database.
High Availability on AWS
To run Dick The Deployer in High Availability mode you need:
- AWS RDS Postgres database
- Replicated ec2 instances with docker serving
- Share private key used by
Web, manually or via AWS EFS
- Load Balancer for
- As many as you need instances with docker for