• click to modify – second level continuous delivery … › content › download › 8744 ›...
TRANSCRIPT
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Continuous Delivery Workflow
with Gerrit» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 1
with Gerrit
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Introductions
Other stuff I do:
• Lead developer
• Git specialist
• Code reviewer» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 2© Copyright 2015, Genuitec, LLC. All rights reserved. 2
Piotr TomiakProduct Architect
MyEclipse
• Code reviewer
• OSGi guy
• Kanban evangelist
• Walking Javadoc for WTP
• Traveler
• Scuba Diver
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Let’s dive in!» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 3© Copyright 2015, Genuitec, LLC. All rights reserved. 3
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Continuous Delivery
• Customers get new features or bugfixes as soon as they are
finished
• Frequent releases
• Less pressure on the release» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 4© Copyright 2015, Genuitec, LLC. All rights reserved. 4
Specify TestRelease/
DeployBuild
Feature Lifecycle in Continuous Delivery
Develop
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Continuous Delivery and Git» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 5© Copyright 2015, Genuitec, LLC. All rights reserved. 5
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
A successful
Git Branching Model
» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 6© Copyright 2015, Genuitec, LLC. All rights reserved. 6
Git branching
model by Vincent Driessen
http://nvie.com/posts/a-successful-git-branching-model/
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Git Branching Model
Feature Lifecycle on develop branch in Git Branching Model
Specify Develop
» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 7© Copyright 2015, Genuitec, LLC. All rights reserved. 7
Specify Develop Build Release
Specify Develop
Test
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Test before merge!» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 8© Copyright 2015, Genuitec, LLC. All rights reserved. 8
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Pull Requests
• Code review
• Separate build and test for each pull request
before merge» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 9© Copyright 2015, Genuitec, LLC. All rights reserved. 9
• Iterative improvement of code by adding new
commits
• It’s fit for Continuous Delivery process
Merges for single commit, useless commits Branching mess
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Merge vs (rebase + amend)
Rebase approach is better:
• History contains only quality commits
• Linear history» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 10© Copyright 2015, Genuitec, LLC. All rights reserved. 10
• Linear history
• Single commits easy to revert
• Merges only for feature branches
• Unimportant information is lost
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Gerrit + rebase
• Code review
• Separate build and test for each change
before merge » Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 11© Copyright 2015, Genuitec, LLC. All rights reserved. 11
• Iterative improvement of code by
amending commits
• Incoming changes easy to manage
• It’s fit for Continuous Delivery process
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Gerrit Workflow
» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 12© Copyright 2015, Genuitec, LLC. All rights reserved. 12
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Gerrit Workflow - branching
» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 13© Copyright 2015, Genuitec, LLC. All rights reserved. 13
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Who likes working on feature
branches with Gerrit?» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 14© Copyright 2015, Genuitec, LLC. All rights reserved. 14
branches with Gerrit?
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Gerrit Workflow for Eclipse
• Easy management of
feature branches
• Covers Gerrit Workflow» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 15© Copyright 2015, Genuitec, LLC. All rights reserved. 15
• Improved Fetch from
Gerrit
• Additional utilities
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Tools in action
» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 16© Copyright 2015, Genuitec, LLC. All rights reserved. 16
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Good news!» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 17© Copyright 2015, Genuitec, LLC. All rights reserved. 17
Free and open source!
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Build, test, release!» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 18© Copyright 2015, Genuitec, LLC. All rights reserved. 18
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Build
• Regular builds (from stable branch):
– Maven
– Hudson
– Secure Delivery Center
1 hour
» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 19© Copyright 2015, Genuitec, LLC. All rights reserved. 19
• Delta builds for quick testing iterations:
– Custom Eclipse plugin based on PDE
– Only modified plugins re-exported
– Installable to Regular build as a feature update
– SDC package
5 minutes
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Test
• JUnit tests
• QF Tests
• Test Link for test cases » Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 20© Copyright 2015, Genuitec, LLC. All rights reserved. 20
• Test Link for test cases
(just migrated from Testopia)
• Manual QA verification and tests
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Release
• MyEclipse:
– distributed as SDC pack and a package
– updates pushed to users» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 21© Copyright 2015, Genuitec, LLC. All rights reserved. 21
– updates pushed to users
• Webclipse:
– Eclipse marketplace
– Evergreen updates
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
What’s next?» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 22© Copyright 2015, Genuitec, LLC. All rights reserved. 22
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Install
Gerrit Workflow for Eclipse can be installed from marketplace:
• Standalone
• With Webclipse
• With MyEclipse» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 23© Copyright 2015, Genuitec, LLC. All rights reserved. 23
• With MyEclipse
Check Gerrit Workflow for Eclipse
and Webclipse
out at Genuitec booth!
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Question?» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 24© Copyright 2015, Genuitec, LLC. All rights reserved. 24
• Click to modify
– Second level
• Third level
– Fourth level» Fifth level
Thank you!
• Meet our Sales Manager Emanuel Darlea» Fifth level
© Copyright 2015, Genuitec, LLC. All rights reserved. 25
• Meet our Sales Manager Emanuel Darlea
• Checkout marketplace for Gerrit Workflow for Eclipse