Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Igor Liska - Continuous Integration

117 views

Published on

Continuous Integration teoreticky prináša efektivitu do vývoja softvéru, v praxi spolu s efektivitou prináša aj rôzne výzvy a nutné zmeny. V INLOOPX sme si túto cestu prešli a radi by sme sa podelili o skúsenosti, ktoré sme nazbierali počas vybudovania nášho CI nad Gitlabom. Radi by sme Vám priblížili architektúru nášho CI a aj spôsob vývoja v INLOOPX. Vhodné pre ľudí, ktorí sa zaujímajú o automatizáciu vývoja softvéru, Gitlab CI, GitFlow, Docker, atď.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Igor Liska - Continuous Integration

  1. 1. Continuous Integration INLOOPX Igor Liška | Engineering Management 2018/06/06
  2. 2. INLOOPX INLOOPX 100+ projects 6 international awards 6 years 58 open source libraries 5* rating on clutch.com 46 StarWars fans 6 offices, 12 000+ sq. feet 150+ employees http://www.inloopx.com
  3. 3. INLOOPX | Continuous Integration Commit → Build → Test → Deliver 3
  4. 4. INLOOPX | Continuous Integration 4 while (true) { } // at least once a day Commit → Build → Test → Deliver
  5. 5. INLOOPX | Continuous Integration 5 Commit → Build → Test → Deliver
  6. 6. INLOOPX | Continuous Integration 6 Git Workflow A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Gitflow
  7. 7. INLOOPX | Continuous Integration Gitflow 7 Source: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
  8. 8. INLOOPX | Continuous Integration Gitflow 8 Source: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
  9. 9. INLOOPX | Continuous Integration Gitflow 9 feature/ths-246-add-calabash-target branch type JIRA taskID featurenam e
  10. 10. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 10
  11. 11. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 11
  12. 12. INLOOPX | Continuous Integration Semantic Versioning 12 0.1.0-unstable.66+debug.a02691d1 pre-release info build metadataversion m ajorm inorpatch identifier build increm ent build type com m ithash
  13. 13. INLOOPX | Continuous Integration Build Tools 13 Versioning & Building Delivery
  14. 14. INLOOPX | Continuous Integration 14 Building an application 1. Run static analysis & tests 2. Get version 3. Build
  15. 15. INLOOPX | Continuous Integration 15 Gitlab CI Source: https://docs.gitlab.com/ee/ci/pipelines.html
  16. 16. INLOOPX | Continuous Integration 16 Job Count 2017 - 2018
  17. 17. INLOOPX | Continuous Integration 17 Challenges in App Building 1. Project Structure & Dependencies 2. Signing
  18. 18. INLOOPX | Continuous Integration 18 Inloop CLI $ inloop ios provisioning application create $ inloop ios provisioning device add $ inloop ios match
  19. 19. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 19
  20. 20. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 20
  21. 21. INLOOPX | Continuous Integration 21 Cucumber & Calabash
  22. 22. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 22
  23. 23. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 23
  24. 24. INLOOPX | Continuous Integration Build Delivery System 24
  25. 25. INLOOPX | Continuous Integration Semantic Versioning vs. BDS 25 0.1.0-unstable.66+debug.a02691d1 pre-release info build metadataversion m ajorm inorpatch identifier build increm ent build type com m ithash
  26. 26. INLOOPX | Continuous Integration 26 0.1.0-unstable.66+debug.a02691d1 pre-release info build metadataidentifier Semantic Versioning vs. BDS build type
  27. 27. INLOOPX | Continuous Integration 27 Semantic Versioning vs. BDS
  28. 28. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 28
  29. 29. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 29
  30. 30. INLOOPX Commit → Build → Test → Deliver | Continuous Integration 30 while (true) { // at least once a day }
  31. 31. INLOOPX thank you Q & A

×