Skip to content

heug/demo-blueskygreenbuilds

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circle CI Demo

Build, Test and Deploy a modern webapp using CircleCI.

Technologies covered:

  • Build a Spring Boot app with Maven (and caching maven repos!)
  • Browser testing with Selenium and Sauce Labs
  • Static Code Analysis with SonarQube
  • Manual Approval/Promotion
  • Blue/Green (zero downtime) Deployments with Cloud Foundry.

CircleCI Maintainability Test Coverage

Testing

To test simple UI functionality we're using Spring Boot's test starter and SauceLabs Connect Tunnel binaries driven through Selenium's WebDriver interface. The use of SauceLabs let's us run several browser combinations in parallel.

You can see these simple tests in HomePagesTests.java

Deploying on Cloud Foundry

One of my favorite features of CF is the zero-downtime deployments using Blue/Green strategy.

  1. Push new version of app on a 'dark' URL not used by customers
  2. Validate application health on dark URL
  3. Begin routing customer facing URL to new version
  4. Stop sending customer traffic to old version
  5. Stop and remove previous version

CloudFoundry panel showing blue and green version on unique routes

You can see this executed in config.yml

Viewing

And live app visible on http://blueskygreenbuilds.com

Running locally

This project uses spring boot, so run as you would any other like project to start on port :8080 locally.

mvn spring-boot:run

Demo

See demo-assets

About

A demo project for CircleCI using Java, Spring, Sauce Labs and SonarQube

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 48.3%
  • HTML 24.8%
  • Python 14.5%
  • CSS 9.9%
  • JavaScript 2.1%
  • Shell 0.4%