What is Blueprint anyways?

A Blueprint is the definition of your tech stack. What does that even mean?

Well, let me explain it to you with an example. Consider what AirBnb is doing with their tech stack. Assume they use the ones below in their stack:

  • They'll have a React front-end

  • Nginx, Rails etc for the back-end

  • MySQL, Hadoop for database

  • Microservices like Redis, Amazon RDS, S3 Buckets

When you define a Blueprint, you can ask Dockup, "Hey, I want all these apps to be started/created when I make a deployment (more on that later)".

Blueprint in other words, is a collection of Dockup Containers which holds various info regarding where to fetch your code from, what command to run them with, and many other interesting stuff.

How does a Blueprint work?

When you click on Deploy (to test a particular feature you're working on), Dockup spins up whole of your tech stack from the Blueprint (called Deployment) that we just created. I'm sure you've heard about staging servers. Dockup is staging server on steroids. And Blueprint is the definition of your staging server. I know it sounds daunting, but trust me, it's not. Really!

Whenever a new change has been made to one of your branches, you can test out those changes by creating a new Deployment against that branch.

Overview of a Blueprint

  • name: A unique name for your blueprint. Like "billing-app"

  • containers: A list of containers for your app

  • custom webhook url: You can listen to deployment status changes using your own hooks for Dockup. Just enter the URL to which Dockup should POST the deployment payload.

Here is a short demo on creating a Blueprint.