Más contenido relacionado La actualidad más candente (20) Similar a Better, Faster, Easier: How to Make Git Really Work in the Enterprise (20) Better, Faster, Easier: How to Make Git Really Work in the Enterprise1. © 2020 Perforce Software, Inc.
Better, Faster, Easier:
How to Make Git Really Work in the Enterprise
2. perforce.com2 | © 2020 Perforce Software, Inc.
Introductions
Brad Hart
CTO, VCS
Perforce
Chuck Gehman
Technical Solution Specialist
Perforce
3. perforce.com3 | © 2020 Perforce Software, Inc.
Better, Faster, Easier:
How to Make Git Really Work in the Enterprise
1
2
3
4
Enterprise Challenges
Ways to Solve These Problems
How to Make Git Better, Faster, and Easier — with Perforce
Q&A
5. perforce.com5 | © 2020 Perforce Software, Inc.
3 Enterprise Challenges
1. You work with third party or outsourced development teams.
2. You use open source in your products.
3. You have different workflow needs for different teams.
7. perforce.com7 | © 2020 Perforce Software, Inc.
Challenge 1:
You Work With Third Party or Outsourced Development Teams
• Almost all large software companies outsource to:
• Cut costs.
• Focus on core value.
• Increase capacity.
• Third party and outsourcing challenges:
• Developers are often less skilled – requires review process.
• Very often only trained in one VCS – usually Git.
• Too expensive to train teams in other VCS.
• Members are often transient.
• Need extra security to isolate what IP they can work on/see.
• Integrating their code with larger codebase for build/release.
8. perforce.com8 | © 2020 Perforce Software, Inc.
Solution 1:
Granular Access Controls, Compliance, and Governance
• Third party code mastered in Helix Server.
• Local performance for remote teams.
Reduce risk and overhead of managing third party / outsourced teams.
• Native Git code review.
• Single source of truth.
• Remote teams only can access what you allow.
Outsource Dev Center
Dynamic Git Proxy
9. perforce.com9 | © 2020 Perforce Software, Inc.
Challenge 2:
You Use Open Source in Your Products
• 35–50% of any given commercial product is open source.
• Why OSS?
• Reusable building blocks (database drivers, APIs, frameworks, etc.)
• Why reinvent the wheel?
• Large community support (often more developers than YOU have).
• FREE!
• Faster time to market.
• Lets you focus on YOUR value add.
10. perforce.com10 | © 2020 Perforce Software, Inc.
PROPRIETARY CODE
GitHub.com
GitLab.com
How do you:
• Get the OSS code?
• Keep it up to date?
• Build it all together?
• Work with mixed sources?
• Prevent multiple different copies
being used?
Challenge 2:
You Use Open Source in Your Products
11. perforce.com11 | © 2020 Perforce Software, Inc.
Solution 2:
Bring Order to the Chaos With a Single Source of Truth
• Helix4Git intelligently mirrors code from external sources.
• Helix Server pulls it all together (single source of truth).
• Helix workspaces can access Core AND Git code.
• Native Git access to Git code.
• The result: Simplified, unified build process for all code.
Improve productivity while maintaining control.
12. perforce.com12 | © 2020 Perforce Software, Inc.
Challenge 3:
You Have Different Workflow Needs For Different Teams
• Mobile applications:
• SIMPLE.
• Small teams.
• Git is fine.
• Mobile OS software and hardware:
• Complex & large scale.
• Lots of interdependencies.
• Regulatory requirements.
• OEM requirements.
• Requires enterprise-grade VCS.
13. perforce.com13 | © 2020 Perforce Software, Inc.
Solution 3:
Flexible Workflows & Ability to Handle Code and Non-Code Assets
Hardware and OS Engineers
App Developers
• Single source of truth.
• Simplified DR.
• Unified builds.
• Flexibility (each team uses what is the best fit).
Teams increase productivity by using the right tool
— while the business maintains control.
14. How to Make Git Better, Faster, and Easier — With Perforce
15. perforce.com15 | © 2020 Perforce Software, Inc.
How Perforce Makes Git Better, Faster, and Easier
Helix4Git is a high performance Git server.
Provides better performance than open
source Git servers, especially with remote
sites over WAN links.
Developers use their existing front-end
Git code management tools or use ours:
Helix TeamHub.
Helix TeamHub is a Git code
management solution.
Self-service project administration for
team collaboration.
Modern web UI with code review, wikis
and Kanban boards.
CI/CD workflows.
Your favorite IDEs, including Visual
Studio and IntelliJ
The leading build runners like Jenkins
Most popular tools like Jira and other
issue management and ALM tools
The most powerful Game and 3D engines
like Unreal and Unity
The fastest version control system (VCS).
Security with granular permissions,
enterprise authentication, secure replication.
10s of 1,000s of users, millions of
transactions per day.
Code and large binary objects.
Central, single source of truth.
Single
Server
16. perforce.com16 | © 2020 Perforce Software, Inc.
Perforce customer base includes leading technology enterprises and 250+ of the Fortune 500
Global Customer Base in Technology
19 of the top 20
game development studios
9 of the top 10
semiconductor companies
9 of the top 10
automotive companies
17. perforce.com17 | © 2020 Perforce Software, Inc.
Summary
Outsource
Amazing
Open Source
Excellent
Internal Teams
Stellar
20. perforce.com20 | © 2020 Perforce Software, Inc.
• Optimized push AND pull.
• No Git tool switching required.
• Helix4Git mirrors data from
preferred Git tool(s).
Helix Versioning Engine
Geographically Distributed Development
21. perforce.com21 | © 2020 Perforce Software, Inc.
• Git is not architected for large binaries.
• Git LFS is not native Git.
• Helix Core is architected for and natively supports
large binaries.
Large Binary File Management
22. perforce.com22 | © 2020 Perforce Software, Inc.
• Building products with assets housed from
multiple sources is complex.
• Helix Core/Helix4Git support hybrid workspaces
with Perforce and Git assets combined together:
• Build from one source of truth.
• Build faster and easier.
Managing the Complexity of Sources from More Than One System
23. perforce.com23 | © 2020 Perforce Software, Inc.
• Cumbersome to maintain a reliable and
repeatable audit trail with multiple
sources of truth.
• Lack of native Git security and data
protection.
• Simplify by combining Git data with Helix
Core in a single platform.
Auditability/Traceability
24. perforce.com24 | © 2020 Perforce Software, Inc.
• Critical for building high-velocity
development pipeline.
• Shift left (find bugs earlier):
• Using native Git from a CI
server can be slow.
Faster Builds = Faster Feedback
25. perforce.com25 | © 2020 Perforce Software, Inc.
• Disaster recovery (DR) plans are not optional.
• No need for separate Git DR and Perforce DR
solutions.
• Huge cost savings.
Simplified Disaster Recovery (DR)
26. perforce.com26 | © 2020 Perforce Software, Inc.
• Current: Use P4 to create a “Hybrid Workspace” with
files from both Classic Depot and Graph Depot (Git).
• Future: Extend Graph Depot support to P4V:
• Create and open hybrid workspaces and browse tree.
• Support read-only operations to view history, etc.
• Support simple edit/commit workflow.
• Goal: Helix Core users do not need to become
Git experts to read/modify code in Graph Depots!
Collaboration – Working with Combined Sources
27. perforce.com27 | © 2020 Perforce Software, Inc.
• Same code needs modification in
Perforce and Git:
• Helix Core stream/branch Git branch.
• Git branch Helix Core stream/branch.
• Git P4 based solution is possible.
Collaboration — Working with Native Tools on Shared
Code Across Combined Sources
GIT REPO P4 DEPOT
Git Branches P4 Streams/Branches
ToP4 (writeable) FromGit (read-only)
FromP4 (read-only) ToGit (writeable)
Sync from Git to Perforce
Sync from Perforce to Git
28. perforce.com28 | © 2020 Perforce Software, Inc.
• Reasons to split Git repos:
• Component-based development (CBD).
• Scalability limitations.
• Programming language barriers.
• GitLab, GitHub, Bitbucket, etc. are focused on end-to-end pipeline.
• Helix TeamHub is designed for scale.
• The future of Helix TeamHub:
• Clone/push/pull/tag a project which consists of many repositories
in a singular, atomic operation.
• More easily manage the explosion of Git repos that happen on
larger projects.
Managing Large Number of Repos, Projects, Groups, and Users
29. perforce.com29 | © 2020 Perforce Software, Inc.
• Helix TeamHub for Git code reviews:
• Including multi-repo code review
functionality for Git.
• Swarm for Helix Core code reviews.
• Future: Noodling on combined
dashboard across Helix TeamHub
and Helix Swarm.
Code Review Process
Notas del editor Read the metrics
Here are some of the types of companies we work with, starting on the top line:
Enterprise hardware manufacturers.
Chip Makers, and makers of test gear and software
Enterprise Software
Game Development, including console makers
Medical Device manufacturers
Tier 1 Automotive Suppliers
Automotive OEMs
Cyber Security companies
If your questions aren’t answered… Use Case 2: Faster builds as a result of P4 commands in your preferred build runner (NOT using Git commands)
Use Case 2: Sync only the files you need, not the entire repo
Use Case 4: If you insist on using Git LFS, H4G Supports Git LFS Locking
Use Case #5: Mirror Git files into the Graph Depot and run it through static code analysis prior to a build Use Case #5: Mirror Git files into the Graph Depot and run it through static code analysis prior to a build Use Case 2: Faster builds as a result of P4 commands in your preferred build runner (NOT using Git commands)
Use Case 2: Sync only the files you need, not the entire repo
Programming language barriers: FE vs. BE (Javascript vs. C, React vs. Java, etc.)