While setting up continuous delivery for your product, one of the biggest challenge is to implement continuous testing. We are gradually moving away from manual testing to automation. But how do we integrate the automated tests into your system? How to run integration tests everyday considering that the test environment can get polluted with failed tests? Docker is a type of a virtualisation platform, a container. Shippable is a hosted cloud platform that provides hosted continuous integration, deployment, and testing to GitHub and Bitbucket repositories.
Assumption: everyone knows about docker. If not, then 2 min explaining what is docker.
Prior to code integration to trunk, developers pre-flight test their code to make sure it doesn’t blow up the trunk. During the CI cycle and code commits from multiple developers integration testing is used to verify merges. During the continuous testing phase where nightly and weekend regression runs are automated for trunk and release branches it is testing that does the job of finding problems before the software release. During the development process the verdicts trends from testing are a primary measurement of progress. During the release deployment phase more testing verifies the release packages are ready for release. Rest assured test team, you are needed. What DevOps really does is bring testing into the mainstream of development processes, and avoids the problems created by having “big-bang” testing left to the end of the cycle, such as release delays, and quality issues.
Shippable CI/CD: Shippable CI/CD is our Continuous Integration and Deployment Platform. It uses Build Minions, which are Docker-based containers to run your workloads. After building and testing your code, you can have Shippable create a Docker image from your Build Minion and push it to Docker Hub or Google Container Registry (private registry support coming soon!). Go to Shippable CI/CD Overview to learn more. Shippable Formations Shippable Formations gives developers an easy way to provision, configure, and deploy multi-container Dev and Test clouds (environments) with zero DevOps code. It is fully integrated with the updated Shippable CI/CD platform, and together, they create an automated, frictionless pipeline from source control to full-topology environments that can mimic your production environment or represent any combination of software component versions you'd like to deploy. Go to Shippable Formations Overview to learn more.
Continuous Testing using Shippable and Docker
Continuous Testing using
Shippable and Docker
DevOps Practice Head
• C, Java, Ruby developer for about 12 years
• DevOps and Systems enthusiast since 3 years
• Creative at heart, technology geek at profession
• Technology, innovation and the thirst to keep
learning are what define me
• Working as DevOps Head at WhiteHedge
• Love to travel, read and write
About WhiteHedge Technologies
Diagram Credit: https://sdarchitect.files.wordpress.com/2012/10/cicdctcm.png
Is Continuous Testing really just
one phase in DevOps?
DevOps is actually all about
The Love Triangle
• DevOps = Marriage of
• Where does the Testing
Team fit in the
• Testing teams need to
assert themselves to fit
in all phases of DevOps
Testing in all phases
• Pre-flight testing
• Unit Testing
• Functional Testing
• Integration Testing
• Nightly and Weekend Regression Tests
• Key differentiator of best devops infrastructures
• Vital part of devops process
• Test orchestration and automation is still a
• Verify the changes. Verify them fast.
• Test code changes and if they integrate them well
• Ensure changes do not blow up the product!
Early, Frequent and Accurate Testing requires
access to real world testing environments.
Service Virtualization in the form of
Containerization, specifically using Docker,
intends to solve this problem.
What is Docker?
“Can create lightweight, self
sufficient containers from
Virtual Machine Docker
Docker is not a VM
CI – Build and
Nightly Builds –
Build, Unit Test and
Deploy to QA Env
Feedback – Email
Polluted the Env.
successful tests, the
env was changed.
deployment, the Env
has to be setup
Shippable makes this
docker deployment and
thus testing, simple
•Reduces the time taken for code to be
built, tested and deployed to production
• Easy way to provision, configure, and deploy multi-
container Dev and Test clouds (environments)
• Fully integrated with the updated Shippable CI/CD
platform, and together, they create an automated,
frictionless pipeline from source control to full-topology
• Can mimic your production environment or represent any
combination of software component versions you'd like to
Shippable Formations (Contd.)
persistent, and 'smart',
i.e. they can
themselves when any
new code is committed
into any component of
Ensures that your Dev
and Test labs always
run the latest code and
are reliable indicators of
how that code will
behave in production.
Notice the services under each env, the docker image and how it is mapped.
Status of deployment of services on each environments
Environment Variables can be set as a part of configuration
Image details and the associated configurations
• Automation without scripts
• Automated integration/functional testing
• One-click upgrade and rollback
• No more 'works on my machine' bugs
• Developer-focused approach
• Cost effective
It is a docker image watcher. You can add any image from any
registry that you want to track and get notified via email when
there is an update.
Interesting Facts about Shippable
• Shippable was founded in 2013 by Avi Cavale and Manisha
• It was known as Qhode initially
• Avi managed to raised the first round of funding over a game of
• Shippable has raised over $10 million funding till today
• Formations was launched on 18 June 2015
• Shippable runs more than 60,000 containers weekly
• Google Kubernetes can do 150-200 daily builds using Shippable
• Shippable calls itself to be in the era of DevOps 2.0, meaning
developers no longer have to write code and scripts in unfamiliar
languages to make deployments
We are Authorized Docker Training Partners in the APAC region!
You can write to us at firstname.lastname@example.org for details about
Certified Docker Training.