Integrating Git, Gerrit and Jenkins/Hudson with Mylyn

  • 3,677 views
Uploaded on

Slides from Eclipse Demo Camp 2011 in Darmstadt

Slides from Eclipse Demo Camp 2011 in Darmstadt

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,677
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
55
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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

Transcript

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