Tag Archives: Continuous Deployment

The Candy Crush Soda Delivery Pipeline

Posted on by

Candy Crush Soda releases a new version of the game on all platforms every other week, year round. I’ve written about the delivery pipeline and the challenges the team faces on King’s tech blog: https://techblog.king.com/candy-crush-soda-saga-delivery-pipeline/

Screen shot King tech blog

Previous posts about working with the Soda team:
How We Developed Candy Crush Soda Saga
What Should We Build Next?

Hur man kan hantera Continuous Delivery med MongoDB

Posted on by

MongoDB är en schemalös, dokumentorienterad databas som har fått stor popularitet i den agila världen bland annat därför att man inte behöver underhålla något databasschema.

MongoDBs schemalöshet gör att många leds att tro att Continuous Delivery blir en promenad i parken, eftersom det ju inte behövs några datamigreringar när man driftsätter en ny version av koden!

Rent teoretiskt är detta sant, men är ett sluttande plan in i Land of Crappy Code™ !

För att slippa onödig komplexitet i form av varierande utseende på lagrade domänobjekt beroende på deras ålder, rekommenderar jag att man utför regelrätta datamigreringar även när man använder MongoDB!

Jag rekommenderar även att datamigreringen är en del av applikationen — till skillnad från skript som skall köras vid sidan av innan applikationsstart — helt enkelt för att eliminera risken för misstag.

Jag har i mitt sidoprojekt Varmfront.nu utvecklat en kompakt liten lösning som i MongoDB implementerar det som Flyway gör för SQL.

Mönstret bygger på Spring Data for MongoDB och Spring JavaConfig, och migreringarna är skrivna i Java. That’s right folks, no XML here 😀

Läs vidare, så får du se hur man kan göra!

read more »

Continuous Delivery vs Continuous Deployment

Posted on by

Jez Humble posted a blog entry with the same title in 2010, but if you haven’t read the entry, or just want a quick explanation, here’s the short version:

A continuous delivery pipeline automatically tests the application, but keeps the deployment decision as a manual step. A continuous deployment pipeline, on the other hand, will automatically deploy this working version. There is no “right” way. Different organizations have different needs. Use the one that delivers the most value to your customers!

Bootstrapping an agile project with continuous deployment using cloudbees

Posted on by

Starting from scratch, this video demos how to quickly get to a fully agile project setup with continuous deployment.

Everything is in the cloud – GIT repo, Jenkins, MongoDB, and the app server. The system deploys automatically with every successful commit.

The app itself is minimal, but does have a simple web interface and a database. The idea is that once you get a “walking skeleton” app like this running in the cloud with continuous deployment, you can get user feedback early and often, and evolve more quickly.


The video demonstrates:

  • iterative development with VERY fast feedback loop
  • a dash of TDD
  • continuous deployment via git & jenkins & cloudbees
  • using eclipse tightly integrated with maven, jetty, and git.
  • the basics of mongo DB
  • the basics of java servlet development (I’ve intentionally avoided using a 3rd party web framework, as this setup will work for any web framework).