![Page 1: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/1.jpg)
@ContainerDay16
A deep dive into one of the applications of DC/OS: CI/CD
Philip Norman
Software Engineer
Mesosphere
Frank Scholten
Senior Software Engineer
Container Solutions
Paris Container Day
29th June
Paris
![Page 2: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/2.jpg)
@ContainerDay16
Philip Norman
Software engineer at Mesosphere
Works on Marathon, Chronos, and the DC/OS
Continuous integration fan
Frank Scholten
Senior Software Engineer at Container Solutions
R&D in the Docker, Mesos & container ecosystem
Creator of minimesos
Bios
![Page 3: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/3.jpg)
@ContainerDay16
Agenda● Introduction to minimesos
● Demo - run Mesos Elasticsearch on minimesos
● Introduction to DC/OS
● CI/CD DC/OS workshop
○ Please work in pairs or groups
![Page 4: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/4.jpg)
@ContainerDay16
minimesos
![Page 5: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/5.jpg)
@ContainerDay16
What is minimesos?
● Experimentation and testing tool for Apache Mesos
● Instant Mesos cluster on your laptop
● CLI and Java API
● Runs in Docker
● Sponsored by
![Page 6: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/6.jpg)
@ContainerDay16
The story behind minimesos
● CS contributed to by
● The Mesos ELK stack on Mesos is a core piece
● Developing & testing distributed systems is hard...
http://container-solutions.com/orchestrated-machine-containerpilot-minimesos-travelling-orchestration
![Page 7: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/7.jpg)
@ContainerDay16
Mesos framework development
Build Deploy Test
![Page 8: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/8.jpg)
@ContainerDay16
Mesos framework development
Build Deploy Test
Long development feedback loop!
![Page 9: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/9.jpg)
@ContainerDay16
Mesos framework development
Build, run and test using minimesos locally
Deploy
![Page 10: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/10.jpg)
@ContainerDay16
minimesos demo
![Page 11: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/11.jpg)
@ContainerDay16
More information
● https://github.com/containersolutions/minimesos
● Twitter @minimesos @Frank_Scholten @adamsandor2
● Mailinglist https://groups.google.com/d/forum/minimesos
● minimesos in a browser https://minimesos.org/try
![Page 12: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/12.jpg)
@ContainerDay16
DC/OS
![Page 13: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/13.jpg)
@ContainerDay16
DC/OS● DC/OS is the Datacenter Operating System
● Is a FOSS product based on Apache Mesos
● Comes with an ‘App Store’
○ One-click Jenkins install
○ Do everything on one cluster
![Page 14: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/14.jpg)
@ContainerDay16
Jenkins & DC/OS● Jenkins is a DC/OS User Space Service
● Each Jenkins job is a DC/OS Process
![Page 15: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/15.jpg)
@ContainerDay16
Github, Jenkins & DC/OS● We poll / hook from Github
● Test and build on SCM change
● Deploy new config to Marathon on DC/OS
![Page 16: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/16.jpg)
@ContainerDay16
DC/OS CI/CD Workshop
![Page 17: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/17.jpg)
@ContainerDay16
Workshop - Check out DC/OS● If you have Vagrant installed, you can use the
USB stick to try out CI/CD on DC/OS.
● We’re going to:
○ add a post to a blog with git
○ build a Docker image with Jenkins
○ deploy it to Marathon with Jenkins
![Page 18: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/18.jpg)
@ContainerDay16
Workshop - Check out DC/OS● Import the vagrant box from the USB stick:
● $ vagrant box add dcos-ci-cd.box \
--name dcos-ci-cd
● $ vagrant init dcos-ci-cd
● $ vagrant up
![Page 19: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/19.jpg)
@ContainerDay16
Workshop - Check out DC/OS● $ vagrant ssh
● $ cd cd-demo
● $ vi site/_posts/\
2016-06-29-title.markdown
● $ git commit -am “My Article”
● $ git push origin master
![Page 20: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/20.jpg)
@ContainerDay16
Workshop - Check out DC/OS● We’ll merge all our changes, and watch the
Jenkins build working...
● $ dcos marathon app show \
/jenkins-deployed-app
● Et voilà!
![Page 21: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/21.jpg)
@ContainerDay16
DC/OS - Resources● @dcos @ApacheMesos @philipnrmn
● https://dcos.io
● https://github.com/dcos
● DC/OS Community Slack
![Page 22: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/22.jpg)
@ContainerDay16
Questions?
![Page 23: Paris Container Day 2016 : Deep dive dc-os ci-cd (Mesosphere & Container Solutions)](https://reader031.vdocument.in/reader031/viewer/2022030305/587287951a28abc7068b770d/html5/thumbnails/23.jpg)
@ContainerDay16
Thank you!