35
#atlassian

Super-powered CI with Git - Sarah Goff-Dupont

Embed Size (px)

DESCRIPTION

Continuous integration is a critical part of working as a team and shipping great software. But when you switch to Git, CI can seem chaotic due to the sudden explosion of branches. Learn how to keep it under control with branch builds, shallow clones, repository caching, and other tricks of the trade.

Citation preview

Page 1: Super-powered CI with Git - Sarah Goff-Dupont

#atlassian

Page 2: Super-powered CI with Git - Sarah Goff-Dupont

SARAH GOFF-DUPONT • DEV TOOLS MARKETING • ATLASSIAN • @DEVTOOLSUPERFAN

Super-powered CI with Git

Page 3: Super-powered CI with Git - Sarah Goff-Dupont

W H Y G I T ?

Agenda

C I - F R I E N D LY R E P O S

C I O N F E AT U R E B R A N C H E S

F R E E S T U F F

Page 4: Super-powered CI with Git - Sarah Goff-Dupont

Why Git?

C I - F R I E N D LY R E P O S

C I O N F E AT U R E B R A N C H E S

G I T H O O K S F O R C I

W H Y G I T ?

Page 5: Super-powered CI with Git - Sarah Goff-Dupont

branching & merging is a breeze

In Git

Page 6: Super-powered CI with Git - Sarah Goff-Dupont
Page 7: Super-powered CI with Git - Sarah Goff-Dupont

775branches in the JIRA code base

Page 8: Super-powered CI with Git - Sarah Goff-Dupont

Simplest Workflowkeep master green

feature/DEV-30

feature/DEV-45

master

experiment on your feature branch

Page 9: Super-powered CI with Git - Sarah Goff-Dupont

CI-friendly Repos

C I O N F E AT U R E B R A N C H E S

G I T H O O K S F O R C I

C I - F R I E N D LY R E P O S

W H Y G I T ?

Page 10: Super-powered CI with Git - Sarah Goff-Dupont

Avoid tracking large files in your

repo.

Page 11: Super-powered CI with Git - Sarah Goff-Dupont

Just archive it

Page 12: Super-powered CI with Git - Sarah Goff-Dupont

Shallow clones for the win

Page 13: Super-powered CI with Git - Sarah Goff-Dupont

Cache the repo on agents

Photo: returndates.com

Page 14: Super-powered CI with Git - Sarah Goff-Dupont

Built into

Page 15: Super-powered CI with Git - Sarah Goff-Dupont

CI on Feature Branches

C I O N F E AT U R E B R A N C H E S

G I T H O O K S F O R C I

C I - F R I E N D LY R E P O S

W H Y G I T ?

Page 16: Super-powered CI with Git - Sarah Goff-Dupont

Simplest Workflow

feature/DEV-30

feature/DEV-45

master

Page 17: Super-powered CI with Git - Sarah Goff-Dupont

Auto-detect new branches

Photo: Andres Galdamez

Page 18: Super-powered CI with Git - Sarah Goff-Dupont

Built into

Page 19: Super-powered CI with Git - Sarah Goff-Dupont

automatically

manually

Branch Build Triggers

feature/DEV-30

master

v 1.2

Page 20: Super-powered CI with Git - Sarah Goff-Dupont

But it’s not pure CI!

Page 21: Super-powered CI with Git - Sarah Goff-Dupont

sgd/DEV-30

master

Rebase before merging

Page 22: Super-powered CI with Git - Sarah Goff-Dupont

how my changes will behave after merging to master

sgd/DEV-30

master

Rebase before merging

Page 23: Super-powered CI with Git - Sarah Goff-Dupont

Auto-merge feature branches

Page 24: Super-powered CI with Git - Sarah Goff-Dupont

Shallow clones for the win

Page 25: Super-powered CI with Git - Sarah Goff-Dupont

Cache the repo on agents

Photo: returndates.com

Page 26: Super-powered CI with Git - Sarah Goff-Dupont

Auto-merge feature branches

Page 27: Super-powered CI with Git - Sarah Goff-Dupont

Built into

Page 28: Super-powered CI with Git - Sarah Goff-Dupont

Integration Workflow

integration

feature/DEV-45

master

back to the drawing board…

Page 29: Super-powered CI with Git - Sarah Goff-Dupont

Key takeaways:

• Let feature branches do the dirty work

• Say “yes” to shallow clones and repo caching

• All your branch are belong to CI

• Git hooks = ninja powers

#atlassian

Page 30: Super-powered CI with Git - Sarah Goff-Dupont

Key takeaways:

• Let feature branches do the dirty work

• Say “yes” to shallow clones and repo caching

• All your branch are belong to CI

• Git hooks = ninja powers

#atlassian

Page 31: Super-powered CI with Git - Sarah Goff-Dupont

Key takeaways:

• Let feature branches do the dirty work

• Say “yes” to shallow clones and repo caching

• All your branch are belong to CI

• Git hooks = ninja powers

#atlassian

Page 32: Super-powered CI with Git - Sarah Goff-Dupont

Key takeaways:

• Let feature branches do the dirty work

• Say “yes” to shallow clones and repo caching

• All your branch are belong to CI

• Git hooks = ninja powers

#atlassian

Page 33: Super-powered CI with Git - Sarah Goff-Dupont

Key takeaways:

• Let feature branches do the dirty work

• Say “yes” to shallow clones and repo caching

• All your branch are belong to CI

• Git hooks = ninja powers

#atlassian

Page 34: Super-powered CI with Git - Sarah Goff-Dupont

•SourceTree

•atlassian.com/git

Free stuff!

Page 35: Super-powered CI with Git - Sarah Goff-Dupont

Thank you!

SARAH GOFF-DUPONT • DEV TOOLS MARKETING • ATLASSIAN • @DEVTOOLSUPERFAN