Avoiding integration hell

1,077 views

Published on

Continuous Integration with Git & Jenkins

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,077
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • Not linger too long on this\n
  • Good looking one\n
  • Slightly obsessed with a flying pink pony\nTry to keep the talk platform agnostic\n
  • \n
  • Industrious\nFine when it is 1 developer\nStart hitting the same files\ndevelopers drop out / new ones come in\nthen we have 3 or 4\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 6 mins\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • how the magic happens\n
  • 10mins\n \n- Gitolite authoritive master\n - Access rights, 3rd parties and no cowboy coding\n - Controlled by its own Git repo\n - Bitbucket for issues\n
  • a good start\n - we don’t use master as we require client sign-off\n
  • very suave looking gentleman\nDeploys, no sorry, TRIES to deploy our applications\n
  • \n
  • \n
  • \n
  • \n
  • 15mins\n
  • very suave looking gentleman\nwho would ever associate blue balls with being a good thing?\n
  • very suave looking gentleman\nwho would ever associate blue balls with being a good thing?\n
  • very suave looking gentleman\nwho would ever associate blue balls with being a good thing?\n
  • Jenkins can’t do it all by himself!\nProcess management software\nSupervisor allows processes to be managed by un-privileged users\n
  • Jenkins can’t do it all by himself!\nProcess management software\nSupervisor allows processes to be managed by un-privileged users\n
  • Jenkins can’t do it all by himself!\nProcess management software\nSupervisor allows processes to be managed by un-privileged users\n
  • Jenkins can’t do it all by himself!\nProcess management software\nSupervisor allows processes to be managed by un-privileged users\n
  • Jenkins can’t do it all by himself!\nProcess management software\nSupervisor allows processes to be managed by un-privileged users\n
  • 20mins\n
  • 20mins\n
  • 20mins\n
  • 20mins\n
  • Avoiding integration hell

    1. 1. AVOIDING INTEGRATION HELL www.thisislevelup.com @aaronbassett @thisislvlup
    2. 2. WHAT IS INTEGRATION HELL?
    3. 3. ALWAYS BE BUILDING!
    4. 4. REAL WORLD
    5. 5. REAL WORLD•6 Developers
    6. 6. REAL WORLD•6 Developers• 905 files / ~56,000 LOC
    7. 7. REAL WORLD•6 Developers• 905 files / ~56,000 LOC• 942 Commits
    8. 8. REAL WORLD•6 Developers• 905 files / ~56,000 LOC• 942 Commits• 200+ Deployments
    9. 9. A DEPLOYMENT EVERY 43 MINUTES
    10. 10. WHAT IS A DEPLOYMENT?
    11. 11. WHAT IS A DEPLOYMENT?• New code added
    12. 12. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed
    13. 13. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed• Database schema updated
    14. 14. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed• Database schema updated• Fixtures (data) loaded
    15. 15. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed• Database schema updated• Fixtures (data) loaded• Tests passed
    16. 16. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed• Database schema updated• Fixtures (data) loaded• Tests passed• Reports Generated (Test coverage, PEP8, *Pylint)
    17. 17. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed• Database schema updated• Fixtures (data) loaded• Tests passed• Reports Generated (Test coverage, PEP8, *Pylint)• Documentation generated
    18. 18. WHAT IS A DEPLOYMENT?• New code added• Requirements / Dependencies installed• Database schema updated• Fixtures (data) loaded• Tests passed• Reports Generated (Test coverage, PEP8, *Pylint)• Documentation generated• Services restarted
    19. 19. git push origin staging
    20. 20. GIT FLOWbranching model
    21. 21. JENKINS CI Server
    22. 22. OH F%$@ OFF!!
    23. 23. IT WORKS ON MY MACHINE
    24. 24. BLOODY UNICODE
    25. 25. SOD THIS. I NEED A PINT.
    26. 26. SPOT PROBLEMS EARLY
    27. 27. • Makes it easy to create jobs
    28. 28. • Makes it easy to create jobs• Run your own scripts
    29. 29. • Makes it easy to create jobs• Run your own scripts• 400+ Plugins available
    30. 30. OTHER REQUIREMENTS
    31. 31. OTHER REQUIREMENTS• Virtualenv
    32. 32. OTHER REQUIREMENTS• Virtualenv• Pip / Chishop
    33. 33. OTHER REQUIREMENTS• Virtualenv• Pip / Chishop• South
    34. 34. OTHER REQUIREMENTS• Virtualenv• Pip / Chishop• South• Sphinx
    35. 35. OTHER REQUIREMENTS• Virtualenv• Pip / Chishop• South• Sphinx• Supervisor
    36. 36. THANKS FOR YOUR TIME www.thisislevelup.com @aaronbassett @thisislvlup
    37. 37. ANY QUESTIONS?
    38. 38. ANY QUESTIONS?
    39. 39. ANY QUESTIONS? ASK RAY!
    40. 40. ANY QUESTIONS? ASK RAY!

    ×