Tuesday, November 17 • 13:30 - 14:15
Continuous Integration with Jenkins, Docker and Compose

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Oxford University Press (OUP) recently started the Oxford Global Languages (OGL) initiative (http://www.oxforddictionaries.com/words/oxfordlanguages) which aims at providing language resources for digitally under represented languages. In August 2015 OUP launched two African languages websites for Zulu (http://zu.oxforddictionaries.com) and Northern Sotho (http://nso.oxforddictionaries.com). The backend of these websites is based on an API retrieving data in RDF from a triple store and delivering data to the frontend in JSON-LD. 

The entire micro-service infrastructure for development, staging, and production runs on Docker containers in Amazon EC2 instances. In particular, we use Jenkins to rebuild the Docker image for the API based on a Python Flask application and Docker Compose to orchestrate the containers. A typical CI workflow is as follows: 

- a developer commits code to the codebase 
- Jenkins triggers a job to run unit tests 
- if the unit tests are successful, the Docker image of the Python Flask application is rebuilt and the container is restarted via Docker Compose 
- if the unit tests or the Docker build failed, the monitor view shows the Jenkins jobs in red and displays the name of the possible culprit who broke the build. 

A demo of this CI workflow is available at http://www.sandrocirulli.net/continuous-integration-with-jenkins-docker-and-compose 


avatar for Sandro Cirulli

Sandro Cirulli

Platform Tech Lead, Oxford University Press
Sandro Cirulli works as Platform Tech Lead in the Dictionaries department of Oxford University Press (OUP). Since 2012 he has been involved in several projects at OUP, including Oxford Global Language Solutions (http://oxfordgls.com/) and Oxford Global Languages (http://www.oxforddictionaries.com/words/oxfordlanguages... Read More →

Tuesday November 17, 2015 13:30 - 14:15 CET
Level 1, Room 114

Attendees (0)