Integrating Git, Gerrit and Jenkins/Hudson with Mylyn<br />Sascha Scholz<br />
90% Irrelevant<br />Lack of integration – FrictionInformation overload – DistractionContext loss when multi-tasking<br />
Task-Focused Interface<br />Tasks are integrated with the IDE<br />See only what you are working on<br />
Context<br />Bugzilla<br />Trac<br />OSLC<br />Tasks<br />Mylyn Evolution<br />Java<br />C/C++<br />Versions<br />CVS<br /...
Git<br /><ul><li>A distributed version control system originally built for the Linux kernel
Offline support
Local repository clone contains full history
Easy branching and merging
Typical workflow: commit, fetch, merge/rebase, push
EGit is an Eclipse team provider for Git
JGit is a lightweight Java library implementing Git</li></ul>HEAD<br />G<br />1.0<br />feature-1<br />D<br />F<br />C<br /...
Jenkins/Hudson<br /><ul><li>Continuous Integration Server
Upcoming SlideShare
Loading in...5
×

Integrating Git, Gerrit and Jenkins/Hudson with Mylyn

3,905

Published on

Slides from Eclipse Demo Camp 2011 in Darmstadt

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

No Downloads
Views
Total Views
3,905
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
60
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Mylyn integrates with about every imaginable ALM system out thereWe have eliminated friction from the developers workdayWe switch task contexts in the blink of an eyeWe are in a constant state of flow coding at the speed of thought
  • Projectstarted in 2004 on a white-board at the University of British ColumbiaEvolved considerably and is now top-level projectNew frameworks: Builds and ReviewsMylyn: reference implementations for open sourceOSLC for integration with IBM toolsTasktop and other commercial add-ons: integrations for closed sourceEvolution happens in two dimensions: artifacts and system integrations Tasks: brings tasks into EclipseContext: bridges to enable mylyn to understand structure of domain objects for DOI and focusingTeam: change set managementMonitor: workbench interaction monitoringWikiText: wiki rendering with extensible support for multiple languagesTasks core framework is reusable in standalone and headless applications
  • Integrating Git, Gerrit and Jenkins/Hudson with Mylyn

    1. 1. Integrating Git, Gerrit and Jenkins/Hudson with Mylyn<br />Sascha Scholz<br />
    2. 2. 90% Irrelevant<br />Lack of integration – FrictionInformation overload – DistractionContext loss when multi-tasking<br />
    3. 3. Task-Focused Interface<br />Tasks are integrated with the IDE<br />See only what you are working on<br />
    4. 4. Context<br />Bugzilla<br />Trac<br />OSLC<br />Tasks<br />Mylyn Evolution<br />Java<br />C/C++<br />Versions<br />CVS<br />Git<br />OSLC<br />Builds<br />WikiText<br />RichText<br />Reviews<br />Hudson <br />OSLC<br />Docs<br />IEEE<br />Tasks<br />Gerrit<br />
    5. 5. Git<br /><ul><li>A distributed version control system originally built for the Linux kernel
    6. 6. Offline support
    7. 7. Local repository clone contains full history
    8. 8. Easy branching and merging
    9. 9. Typical workflow: commit, fetch, merge/rebase, push
    10. 10. EGit is an Eclipse team provider for Git
    11. 11. JGit is a lightweight Java library implementing Git</li></ul>HEAD<br />G<br />1.0<br />feature-1<br />D<br />F<br />C<br />E<br />B<br />A<br />
    12. 12. Jenkins/Hudson<br /><ul><li>Continuous Integration Server
    13. 13. Open source
    14. 14. Hudson was recently proposed as an Eclipse project
    15. 15. Jenkins is a fork of Hudson
    16. 16. Mylyn integrates with both</li></li></ul><li>Gerrit<br /><ul><li>Web-based code review system based on JGit
    17. 17. Open source (Apache License 2.0)
    18. 18. Serves as a Git server adding access control and workflow
    19. 19. Used by
    20. 20. Android
    21. 21. JGit, EGit (other Eclipse projects want it…)
    22. 22. Google
    23. 23. SAP</li></li></ul><li>Gerrit Workflow<br /><ul><li>Master branch contains only reviewed and approved changes
    24. 24. Each change is based on the master branch to have a stable starting point
    25. 25. Typical workflow
    26. 26. Make a change and commit it to your local Git repository
    27. 27. Push commit to Gerrit
    28. 28. Invite reviewers
    29. 29. Comments and discussions in the context of the change
    30. 30. Fetch it, test it, improve it, …
    31. 31. Create a new patch set and push to Gerrit (amend commit, old one is replaced)
    32. 32. Submit to master branch (or abandon it…)</li></li></ul><li>Demo!<br />
    33. 33. Build<br />Hudson <br />Pull<br />Vote<br />Gerrit<br />Push<br />Vote<br />Vote<br />Push<br />Git<br />
    34. 34. Contribute!<br /><ul><li>Mylyn Reviews
    35. 35. http://www.eclipse.org/reviews
    36. 36. Mylyn Builds
    37. 37. http://www.eclipse.org/mylyn/builds
    38. 38. Egit/Jgit
    39. 39. http://www.eclipse.org/egit
    40. 40. Gerrit Code Review
    41. 41. https://review.source.android.com
    42. 42. Jenkins Gerrit Trigger
    43. 43. https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger</li></li></ul><li>Update Sites for Mylyn 3.5<br />Mylyn<br />http://download.eclipse.org/mylyn/releases/latest<br />Jenkins/Hudson Connector<br />Task List > New Task… > Install More Connectors<br />Gerrit Connector<br />http://download.eclipse.org/reviews/nightly<br />EGit<br />http://download.eclipse.org/egit/updates<br />Mylyn 3.6 will be released as part of Indigo on June 22.<br />
    44. 44. Questions?<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×