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.
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.
- Push new version of app on a 'dark' URL not used by customers
- Validate application health on dark URL
- Begin routing customer facing URL to new version
- Stop sending customer traffic to old version
- Stop and remove previous version
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