Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous Testing using Shippable and Docker


Published on

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.

Published in: Technology
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ ◀ ◀ ◀ ◀
    Are you sure you want to  Yes  No
    Your message goes here
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ ◀ ◀ ◀ ◀
    Are you sure you want to  Yes  No
    Your message goes here

Continuous Testing using Shippable and Docker

  1. 1. Continuous Testing using Shippable and Docker Mukta Aphale DevOps Practice Head WhiteHedge Technologies
  2. 2. About Me • 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 Technologies • Love to travel, read and write
  3. 3. About WhiteHedge Technologies
  4. 4. Typical DevOps Phases • Continuous Integration • Continuous Delivery • Continuous Testing • Continuous Monitoring
  5. 5. The Environments Diagram Credit:
  6. 6. Is Continuous Testing really just one phase in DevOps?
  7. 7. DevOps is actually all about Continuous Testing!
  8. 8. The Love Triangle • DevOps = Marriage of Development and Operations • Where does the Testing Team fit in the definition? • Testing teams need to assert themselves to fit in all phases of DevOps
  9. 9. Testing in all phases • Pre-flight testing • Unit Testing • Functional Testing • Integration Testing • Nightly and Weekend Regression Tests Test Early. Test Faster. Test Often. Automate.
  10. 10. Testing Maturity • Key differentiator of best devops infrastructures • Vital part of devops process • Test orchestration and automation is still a challenge • Verify the changes. Verify them fast. • Test code changes and if they integrate them well • Ensure changes do not blow up the product! Credit:
  11. 11. The Challenge 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.
  12. 12. What is Docker? Linux Container 3 Components: Docker Engine Docker Hub Docker Images Benefits: Speed Portability Density Open Source “Can create lightweight, self sufficient containers from any application”
  13. 13. Virtual Machine Docker Docker is not a VM
  14. 14. Typical Design CI – Build and Unit Testing Nightly Builds – Build, Unit Test and Deploy to QA Env Run Integration Tests (Selenium Tests) Feedback – Email Test Report Failing Tests Polluted the Env. Even after successful tests, the env was changed. For every deployment, the Env has to be setup
  15. 15. After Dockerizing… Dockerfile (app1) Dockerfile (app2) Dockerfile (db) Docker Hub Base-Image-App1 Base-Image-App2 Base-Image-DB CI Server Deployment Script Test Environment: App1 App2 DB Selenium Tests Feedback – Email Test Report
  16. 16. Shippable makes this docker deployment and thus testing, simple
  17. 17. Shippable •SaaS Platform •Reduces the time taken for code to be built, tested and deployed to production •Shippable CI/CD •Shippable Formations
  18. 18. Automated Deployment Pipelines
  19. 19.
  20. 20.
  21. 21.
  22. 22. Shippable Formations • 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 environments • Can mimic your production environment or represent any combination of software component versions you'd like to deploy.
  23. 23. Shippable Formations (Contd.) Fully orchestrated, persistent, and 'smart', i.e. they can automatically update themselves when any new code is committed into any component of the application. Ensures that your Dev and Test labs always run the latest code and are reliable indicators of how that code will behave in production.
  24. 24. Creating Formations
  25. 25.
  26. 26. Notice the services under each env, the docker image and how it is mapped.
  27. 27. Status of deployment of services on each environments
  28. 28. Environment Variables can be set as a part of configuration
  29. 29. Image details and the associated configurations
  30. 30. Why Formations? • Automation without scripts • Automated integration/functional testing • One-click upgrade and rollback • No more 'works on my machine' bugs • Developer-focused approach • Cost effective
  31. 31. Lighthouse 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.
  32. 32. Interesting Facts about Shippable • Shippable was founded in 2013 by Avi Cavale and Manisha Sahasrabuddhe • It was known as Qhode initially • Avi managed to raised the first round of funding over a game of table tennis! • 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
  33. 33. Thank You! Questions? We are Authorized Docker Training Partners in the APAC region! You can write to us at for details about Certified Docker Training.