Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Jenkins Continuous Integration Pipeline with Docker

Building a Jenkins Continuous Integration Pipeline with Docker

6b28ac0344362cf9e57365525b3bdd86?s=128

Alexandru Zbarcea

October 19, 2016
Tweet

More Decks by Alexandru Zbarcea

Other Decks in Technology

Transcript

  1. Building a Continuous Integration Pipeline with Docker Alex Zbarcea -

    Apache Committer (alexz@apache.org, in/azbarcea, @azbarcea)
  2. ABOUT THIS PRESENTATION Continuous Delivery

  3. Business is a System inputs outputs feedback

  4. Business is a System

  5. Jenkins Artifacts Jenkinsfile + artfifacts artifacts

  6. remote API dckr01 remote API dckr02 tutum jenkins archiva registry

    nexus Jenkins Builds
  7. Automated Service Operations App App Vault Nexus Internal on-premise services

    Customer facing services github Continuous Integration Pipeline
  8. The Machine to build the Machines

  9. Computer architecture

  10. None
  11. None
  12. rhel tomcat java app Another Distro One package manager -

    automated patches Reuse Isolated app. One hierarchy security Conf. Mngt.
  13. 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
  14. Demo

  15. Challenges

  16. Pipeline Challanges - everybody sees and understands the pipeline -

    optimize for the global scope - inventory of INs and OUTs - artifact warehouse management - containerize everything
  17. - Not all image can be build in docker-in-docker (dind)

    - Caching artifacts (e.g.: /.m2/repository folder) - Use data containers Docker Challanges
  18. 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
  19. Thank you MCJUG apifocal