Top Banner
Paul Bonaud @paulrb_r @paulrb_r Maxime Visonneau @mvisonneau @mvisonneau A A SMOOTH SMOOTH SMOOTH SMOOTH MIGRATION TO MIGRATION TO DOCKER DOCKER DOCKER DOCKER FOCUSING ON FOCUSING ON BUILD PIPELINES BUILD PIPELINES BUILD PIPELINES BUILD PIPELINES
114

A smooth migration to Docker focusing on build pipelines - TIAD Camp Docker

Jan 22, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  1. 1. PaulBonaud @paulrb_r MaximeVisonneau @mvisonneau A A ASMOOTH SMOOTH SMOOTHMIGRATIONTO MIGRATIONTO MIGRATIONTO DOCKER DOCKER DOCKERFOCUSINGON FOCUSINGON FOCUSINGON BUILDPIPELINES BUILDPIPELINES BUILDPIPELINES
  2. 2.
  3. 3. PaulBonaud ++ Infra&OpsEngineer SoftwareDeveloper MaximeVisonneau + + InfrastructureEngineer
  4. 4. MeetMaurice MeetMaurice MeetMaurice
  5. 5. MeetMaurice MeetMaurice MeetMaurice aka aka akabuild2 build2 build2
  6. 6. Manuallyadministrated
  7. 7. Buildingallprojects Android,JS(Ember),C++,Ruby
  8. 8. Deployingeverything Nginx,apps,infrastructure
  9. 9. Singlearchitecture(Debian7)
  10. 10. Newera Newera Newera
  11. 11. Docker Docker Docker
  12. 12. OpenSource
  13. 13. Isolated
  14. 14. Immutable
  15. 15. Stateless
  16. 16. Versioncontrolled Dockerfile
  17. 17. Dockerfile FROMruby:2.4-jessie
  18. 18. Dockerfile RUNapt-getupdate RUNapt-get-yinstalllibpq-devghostscript
  19. 19. Dockerfile RUNapt-getupdate&& apt-get-yinstalllibpq-devghostscript&& rm-rf/var/lib/apt/lists/*
  20. 20. Dockerfile WORKDIR/opt/app COPYGemfileGemfile.lock/opt/app RUNbundleinstall
  21. 21. Dockerfile VOLUME/opt/app CMD["make","run"]
  22. 22. Dockerfile FROMruby:2.4-jessie RUNapt-getupdate&& apt-get-yinstalllibpq-devghostscript&& rm-rf/var/lib/apt/lists/* WORKDIR/opt/app COPYGemfileGemfile.lock/opt/app RUNbundleinstall VOLUME/opt/app CMD["make","run"]
  23. 23. GitLab GitLab GitLab
  24. 24. OpenSource
  25. 25. IntegratedDockerregistry! registry.gitlab.com
  26. 26. Gitlab-CI Gitlab-CI Gitlab-CI
  27. 27. OpenSource
  28. 28. Declarative
  29. 29. Integrated
  30. 30. Versioncontrolled .gitlab-ci.yml
  31. 31. .gitlab-ci.yml stages: -build -test -package -deploy
  32. 32. .gitlab-ci.yml variables: IMAGE:${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} LATEST_IMAGE:${CI_REGISTRY}/${CI_PROJECT_PATH}:latest
  33. 46. .gitlab-ci.yml variables: IMAGE:${CI_REGISTRY_IMAGE}:${OS}_${CI_COMMIT_SHA} #(...) test:jessie: stage:test variables: OS:jessie script: -maketest