how to work efficiently in a hybrid git-perforce environment

23
# Nathan Tran / Brenda Li Trend Micro Inc. How to Work Efficiently in a Hybrid Git-Perforce Environment

Upload: perforce

Post on 17-Nov-2014

1.381 views

Category:

Technology


4 download

DESCRIPTION

Many companies face the challenge of supporting Git and Perforce together in their company. This presentation will describe the challenges Trend Micro faced and how they enabled a hybrid Git-Perforce environment. Additionally, learn three practices in using Perforce which make their work more efficient.

TRANSCRIPT

Page 1: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Nathan Tran / Brenda LiTrend Micro Inc.

How to Work Efficiently in a Hybrid Git-Perforce Environment

Page 2: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

• Introductions• Perforce and Git at Trend Micro • Hybrid VCS with Git Fusion• Helping Users Work Efficiently in a Hybrid Git-

Perforce Environment• Conclusion

Agenda

Page 3: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Brenda LiSCM EngineerTrend Micro Inc.

Brenda Li is a SCM Engineer at Trend Micro’s China Development Center located in Nanjing, China. She is responsible for Perforce Administration and Build and Release Management.

Nathan TranSupervisorTrend Micro Inc.

Nathan Tran is the Supervisor for Engineering Tools and Services at Trend Micro. He is responsible for providing technical leadership and helping his team create a productive environment for Trend Micro to develop quality solutions for our customers.

Page 4: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Trend Micro• Founded in 1988, we have become the largest security-

focused company worldwide• Headquartered in Japan, 57 offices on 6 continents• Over 5200 Employees, with over 1800 engineers

globally• Customers include 48 of top 50 global corporations• 500,000 commercial customers, protecting more than

155 million endpoints

500,000 commercial customers155 Million Endpoints

Page 5: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

1st LAN Server

Security

1st Gateway Security

1st Threat

Management Solution

1st In Netbook

Security

1st Integrated

Virtualization Security

1st Cloud

Computing Security

1st Comprehensive

Mobile App. Reputation Technology

Continual Innovation

1995 2013

Page 6: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Perforce and Git at Trend Micro

Page 7: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Changes in Version Control Systems

VS.

Centralized VCS (Perforce in Trend Micro)

Distributed VCS (Git)

Page 8: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Challenge for Version Control Management (VCM)

ProductivityVS.

Page 9: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Git Users Requirements Collaborate with team members that use Perforce

Freely create branches in local Git repos while merging specified branches to Perforce

Enjoy advanced services that only supported on Perforce, such as build services, code-scanning, testing, etc.

Push important repos to Perforce for back up

Solution for above requirements

PERFORCE GIT FUSION

Page 10: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Here Comes – Git Fusion

Bridge between Perforce and Git

Git user can continue as normal while enjoying advanced services on Perforce

Company can ensure Intellectual Property governance and security requirements

Page 11: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Hybrid VCS with Git Fusion

Page 12: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Hybrid VCS

Perforce Server

Git Fusion ServerP4 Users

Build

Line Of Code(LOC)

Code Scanning

Code Review

Git UsersPerforce Users

VCS Environment

Development Environment

Perforce Proxies

Perforce Users Perforce Users

Page 13: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Q: How do we use Git Fusion?

Page 14: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Hybrid VCS Practices

Method Ⅰ Method Ⅱ

Implement on Git at the projects early stages.Migrate to Perforce when codes are mature

Using Git as the Perforce Client throughout the project’s life cycle

Page 15: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Codeline Management

How do we manage these different kinds of Git branches in Perforce?

Next

Page 16: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Codeline Management

Branching Model for Perforce

Strategy for Mapping Git Branches to Perforce

Next

Page 17: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Codeline Management

Perforce MAIN Git trunk

Perforce PRD Git production

Git Fusion

trunk

feature A

production

hotfix

MAIN

PRD

Git

Perforce

git c

lone

git push git p

ull git push

DEV

Page 18: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Helping Users Work Efficiently

Page 19: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Perforce Ecosystem

Perforce

Build System

Project Management

Testing System

Defect Tracking

Page 20: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Defect Tracking System Integration

Page 21: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Parallelizing Development and Localization (L10N) Processes

Before• English release first

• L10N release comes late

Improve• English/L10N release

same time

• RD need to put files to L10N folder by themselves

Now• English/L10N release

same time

• Auto sync files between L10n folder and dev folder

If the project has 10 language release, this will reduce the project’s life cycle in half.

Page 22: How to Work Efficiently in a Hybrid Git-Perforce Environment

#

Conclusion• Use Git Fusion• Establish Codeline Management with Git to

Perforce Branch Mapping• Show users the benefits of a centralized VCS

by integrating tools that help them work more efficiently