Alm tce parallel development

30
Liya Katz & Miron Gofer Parallel Parallel Development Development

description

Alm tce parallel development by Liya Kats and Miron Gopher from Tikal Knowledge given at Tikal TCE:http://www.tikalk.com/tce-event-281210-revolution-application-lifecycle-management-krypton

Transcript of Alm tce parallel development

Page 1: Alm tce parallel development

Liya Katz&

Miron Gofer

Parallel Parallel DevelopmentDevelopment

Page 2: Alm tce parallel development

2 WWW.TIKALK.COM

Agenda

What is Parallel Development?

Solutions: branching models and more

DVCS

Use case and demo

Page 3: Alm tce parallel development

WWW.TIKALK.COM

What is Parallel Development?

Terminology:CodelineBranchMergeFeature FreezeCode Freeze

Page 4: Alm tce parallel development

WWW.TIKALK.COM

Branching models

files versioning and no branching

branch by release

branch by task

branch by purpose

Page 5: Alm tce parallel development

WWW.TIKALK.COM

Files versioning and no branching

Managing the history...

Page 6: Alm tce parallel development

6 WWW.TIKALK.COM04/12/23

Release 1.0

Branch by ReleaseBranch by Release

Development QA Production

Release to QA

Release 2.0 Development QA Production

Release to QA

Release 3.0Development QA Production

Approved bug fix

Merge bug fix to release 2.0

Merge bug fix to release 3.0

Production 1.0

Production 2.0

Production 3.0

Page 7: Alm tce parallel development

7 WWW.TIKALK.COM04/12/23

Branch by TaskBranch by Task

Integrationbranch1.0

QA Production

Task 2

Task 1

Task 3

Integration

Terminology: Integration codeline/branch

Integration task + integrator role

DeliverRebase

Production 1.0

Page 8: Alm tce parallel development

8 WWW.TIKALK.COM04/12/23

Branch by PurposeBranch by Purpose

DEV

NormalDevelopment

Feature Freeze

 Bridge

Rrelease to QA (Code Feeze)

Releasecandidate1.0

NormalDevelopment

Testing

Production 1.0

Approved bug fix

Page 9: Alm tce parallel development

WWW.TIKALK.COM

Additional solutions

Page 10: Alm tce parallel development

WWW.TIKALK.COM

Feature toggle

Page 11: Alm tce parallel development

WWW.TIKALK.COM

Private branching

Page 12: Alm tce parallel development

WWW.TIKALK.COM

DVCS Overview

Distributed

Version

Control

System

Decentralize

Page 13: Alm tce parallel development

WWW.TIKALK.COM

Key concepts

Make (record) the changes and Share the changes are distinct operations

Page 14: Alm tce parallel development

WWW.TIKALK.COM

Key concepts

Peer-to-Peer approach

(We are equal)

Page 15: Alm tce parallel development

WWW.TIKALK.COM

Key concepts

Construct your own structure (free as in freedom)

Page 16: Alm tce parallel development

WWW.TIKALK.COM

Key concepts

Merge is good!!!

Page 17: Alm tce parallel development

WWW.TIKALK.COM

Key concepts

New Terminology:

Checkout, checkin, branch, log are all local actions. For collaboration we got: push, pull, clone...

Page 18: Alm tce parallel development

WWW.TIKALK.COM

DVCS Overview - cont.

Advantages

.

.

.Disadvantages

.

.

.

Does it fit?

Page 19: Alm tce parallel development

WWW.TIKALK.COM

DVC systems

GIT Linux, X.org, Rails. Very fast very powerful.

Bazaar Ubuntu Less known

Mercurial OpenJDK, OpenSolaris, Mozilla. Better Windows support.

Page 20: Alm tce parallel development

WWW.TIKALK.COM

Demo

Empower subversion with git private branching

Page 21: Alm tce parallel development

WWW.TIKALK.COM

Use case

Central SVN repository

Use local GIT repository for private branching

on developer environment

Use git-svn tool to glue

Page 22: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Clone repository using command line:

$ git svn clone http://dev.tikalk.com/svn/repos_private/trunk/promoted-builds-manual-demo/ -T ""

Page 23: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Open eclipse, import the project

and share with git:

Page 24: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Make change on the master branch:

Page 25: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Create new branch and checkout:

Page 26: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Make changes on the new branch and commit:

Page 27: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Checkout back to master

sync with branch, merge and commit

Page 28: Alm tce parallel development

WWW.TIKALK.COM

Demo steps

Rebase and commit to SVN from command line:

$ git svn rebase

$ git svn dcommit

See in SVN history:

Page 29: Alm tce parallel development

DEMODEMO

Page 30: Alm tce parallel development

Thank youThank you