Flying at the Speed of Git

Post on 23-Jan-2015

425 views 2 download

description

 

transcript

Flying at the Speed of GitAlex Holtz, Senior Engineer

$11.5B Bookings 140+ Countries1,500 Employees 16 Languages18M Visitors / mo.

Orbitz Worldwide Brands

3

Orbitz operates Worldwide

Hundreds of developers in offices globally

Chicago, London, India, Sydney, Argentina

6

YourVCS Git

The prospect of switching to Git doesn’t need to feel like this!

It’s a lot more like this!

Migration:Easier than you think1:

All about choosing the right tools2:Fast3:

Orbitz’ Source Control History

8

CVS2000-2006

CommercialVCS

2006-2012

Git2012+

50 dev teams

597 repositories

Why Switch?

9

...is slowing us down

Not using Git...

Overcoming Inertia

10

Progressive teams Were running Git on their own servers

Git ChampionsGuided the process from start to finish

Internal buzz For Git was high

Git?

Where Do You Start?

11

“Git in the Enterprise: Not Just Git”

Gitorious

VCS Git

Aug. 2012Oct. 2009

Mar. 2013

Jan. 2011

Importing History to Git

12

Leverage git fast-import for transferring VCS history

http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git

How We Switched

13

Git

Existing VCS ReleaseScripts

Dependency Resolutionand

Artifact Repository

Jenkins

Champions built new tools and were early adopters

Tools in Orbitz’ Build Chain

14

Interface to Source

Tools for Publishing and

Releasing

Dependencies / Artifacts

Commercial VCS

Git

Proprietary CLIProprietary GUI

Custom Ruby Scripts

Apache,Custom Rails application

CLI, IDEs, SourceTree, many more!

Jenkins (open source)

Artifactory (open source)

Training

15

We held training, not on Git, but Git at Orbitz

Videos

Approaching the Migration on a Repo-by-repo Basis

16

+ = Good Luck!

...we also helped as needed.

Tools Docs

30 minutes...most of the time.

17

597 Repositories in a Proprietary System

Closed180

Deprecated88

Migrated329

Over 100 GB

= 20 GB in Git

Timeline

18

Just 11 months from start to finish!

• Sep 2011: Tool evaluation (Gitorious vs. GitHub)

• Mar 2012: Building migration tools and testing

• Jun 2012: Migrations are in full swing,

several teams migrate every week

• Aug 2012: Final repos are migrated and our old

system is now read-only

Costs

19

A mere 2500 man hours

Decreased license costs will pay for the entire migration in less than a year.

Improvements Already Demonstrated

20

20% Faster BuildsRemote teams are saying: “Amazing performance improvement...”“...how did we pull this off so quickly?”

Self-service

DistributedEqual performance regardless of location — internet optional

Cheaper, faster, less administration Thanks to open source and self-service

No more custom integration!Everybody ships new tools with native Git support

Why We Love Git!

21

master

dev fork

dev fork

dev fork

dev fork

dev fork

dev fork

200 MB 1200 MB

Things We Wish We had Done Better

22

~400 repositories20 GB

~3000 developer forks80 GB

NFS and Hard Links are not buddies!

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

Parent Fork A Fork B

How Stash Approaches Storage for Forks

23

Stash uses “Git Alternates” to share object space between repos

Hindsight is 20/20

24

What was easyLocking and moving repos one at a time

What was hard The same process for mega repos and some of our deployment tools were tightly coupled to our VCS

Migrating history Was useful for some, but not as standard process

In the Last Year...

25

because of

Stash Hooks: Automated SOX controlsAutomated deployments

Text code below to 22333or visit http://bit.ly/15BJhZR

Flying at the Speed of Git

To join this session, send text 136888 to 22333

AWESOME = 44

PRETTY GOOD = 43

NOT BAD = 42

MEH = 41

Rate this Talk