Nuance Communications is making the move from SVN to Git! Why? To take advantage of its strong branching and merging capabilities... and to keep their developers happy. With wild variations between each product's release model, they have multiple releases of one or more components in play at a given time. So they had to get creative with a branching model. This talk will discuss choosing the right Git branching model for each of your release streams, and managing multiple releases using Bitbucket (including Stash), JIRA, Bamboo, and Maven.
5. If you don’t like speed, being productive and
more reliable coding practices then you
shouldn’t use Git.
NICOLA PAOLUCCI, ATLASSIAN
“
”
6. Tools Integration
Solid integration with
JIRA Software,
Bamboo, Crucible is
paramount.
AutomationBranch Isolation
The team wanted three things:
Keep developers
productive and
unblocked while letting
the team be flexible
about what makes it
into a release.
Nothing should be
manual if at all possible.
The development
process should “just
work”.
44. Create in JIRA Software
Branches are easy!
Pull, Checkout, Work!
45. Bamboo Branch Detection
The Tools Work Well Together
Code Reviews
HipChat Alerts
JIRA ties all of the other
tools together for one view
All feature builds in one plan
Feature branches discovered
when they are created
Team can review in Crucible
Build failures and feature branch
creation alerts keep team on top
of their status
46. Merge Sanity Check
Pull Requests
Developer Gate
Most pull-requests are
approved quickly since
code has been approved
Approver can quickly review the
diff to make sure it lines up with
their understanding.
New teams, click-happy folks,
etc.
48. Create in JIRA Software
Branching is Repetitive
Pull, Checkout, Work!
Once you’re done branching,
anyway…
Create in JIRA Software
Create in JIRA Software
Create in JIRA Software
Branch Name Matters
Extension is purposefully picky
Each project’s artifacts need to
be in the same branch-repository
49. Where are my builds?
Extra Clicks To See All Builds
Empty Plans Required
Some build plans only run
branch builds which are not
displayed immediately.
The “master” branch build plans
require an empty plan that does
nothing.