Slide 1

Slide 1 text

Building a Continuous Integration Pipeline with Docker Alex Zbarcea - Apache Committer ([email protected], in/azbarcea, @azbarcea)

Slide 2

Slide 2 text

ABOUT THIS PRESENTATION Continuous Delivery

Slide 3

Slide 3 text

Business is a System inputs outputs feedback

Slide 4

Slide 4 text

Business is a System

Slide 5

Slide 5 text

Jenkins Artifacts Jenkinsfile + artfifacts artifacts

Slide 6

Slide 6 text

remote API dckr01 remote API dckr02 tutum jenkins archiva registry nexus Jenkins Builds

Slide 7

Slide 7 text

Automated Service Operations App App Vault Nexus Internal on-premise services Customer facing services github Continuous Integration Pipeline

Slide 8

Slide 8 text

The Machine to build the Machines

Slide 9

Slide 9 text

Computer architecture

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

rhel tomcat java app Another Distro One package manager - automated patches Reuse Isolated app. One hierarchy security Conf. Mngt.

Slide 13

Slide 13 text

Artifacts .jar .war .npm .pip .apk .deb .rpm .docker .-box.tar.gz .git - Chef - Ansible - .docker compositions - Pods .wiki .swagger.json apps/libs OS node config. docs .docker .docker compositions .rancher compositions only markdown (text) artifacts are allowed

Slide 14

Slide 14 text

Demo

Slide 15

Slide 15 text

Challenges

Slide 16

Slide 16 text

Pipeline Challanges - everybody sees and understands the pipeline - optimize for the global scope - inventory of INs and OUTs - artifact warehouse management - containerize everything

Slide 17

Slide 17 text

- Not all image can be build in docker-in-docker (dind) - Caching artifacts (e.g.: /.m2/repository folder) - Use data containers Docker Challanges

Slide 18

Slide 18 text

Operations Challenges - FAIL is good. Trust the upgrade button - complexity - generates: lack of trust - difficult to investigate - .git/social becomes a core system - emergent properties - focus is on scaling - deployments as a non-event

Slide 19

Slide 19 text

Thank you MCJUG apifocal