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.

CONTINUOUS INTEGRATION WITH JENKINS AND GIT

2,168 views

Published on

Using Git and Jenkins to automate the entire software development cycle of a business entity.

Published in: Technology
  • Login to see the comments

CONTINUOUS INTEGRATION WITH JENKINS AND GIT

  1. 1. @benjunni CONTINUOUS INTEGRATION WITH JENKINS AND GIT
  2. 2. B My name is Benjamin I build cool web stuff +256 794 600 025 www.lutaaya.net me@lutaaya.net @benjunni
  3. 3. Joe and Brenda are working on a project Theyeachimplement afew classes codethem ensuretheyarewelltested Whey they're done, they Integrate them Everythingbreaks! SCENARIO (COMMON)
  4. 4. That awkward moment near the end of the project when everyone realizes that none of their classes interoperate correctly INTEGRATION HELL
  5. 5. Integration HELL is extremely risky for a project Difficult to determine how long it will take to resolve the integration problems Exceedingthebudget Exceedingtheschedule INTEGRATION HELL
  6. 6. Originated form eXtreme Programming (XP) Mitigates risks associated with integrating software Avoids integration hell Integrate early and often CONTINUOUS INTEGRATION (CI)
  7. 7. Originated form eXtreme Programming (XP) Mitigates risks associated with integrating software Avoids integration hell Integrate early and often CONTINUOUS INTEGRATION WORK FLOW
  8. 8. Written in Java CI software Waytotestcode/functionalitychanges Sendouttestresultsonpass/fail/othercriteria Manage deployments Tons of plugins SVN/Git/Mercurial/Bazaar/etc Selenium,Phing Notifications https://jenkins-ci.org/ JENKINS
  9. 9. Free and open source Version control system Can handle small to very large projects Fast and efficient https://git-scm.com GIT
  10. 10. Benefits of a CI Server Developers might forget to run the tests Dont breakthebuild It might take too long to run the tests We might need to test the code in various environments Differentarchitectures(32-bit/64-bitIntel,ARM,PowerPC) Differentplatforms(Windows,Linux,Mac,Solaris,HP-UX,AIX) BENEFITS OF A CI SERVER
  11. 11. Reports provide useful insights to the team Can track metrics line line coverage Percentageoflinesexecutedbytheprogram'stests Can run all sorts of utilities on your code checksyle,findbugs,... Can deploy automatically Deployawebprojecttoastagingserver Deploylateststablebuildofadesktop applicationtoour websitefordownload BENEFITS OF A CI SERVER
  12. 12. Install Jenkins Set up a git server: (Can even use GitHub) Configure Git to notify Jenkins of the changes Configure Jenkins to; Clonerepository when notification received Buildtheproject Runtheproject's tests Generatelinecoveragereports TASKS INVOLVED
  13. 13. B My name is Benjamin I build cool web stuff +256 794 600 025 www.lutaaya.net me@lutaaya.net @benjunni

×