Skip to content

heug/demo-blueskygreenbuilds

master
Switch branches/tags
Code
This branch is 98 commits ahead, 162 commits behind eddiewebb:main.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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%