Perforce Helix GitSwarm:
Enterprise Git Ecosystem
Presented by Ralf Gronkowski,
Perforce Software
2
Git is a Very Popular 10-Year-Old
— 2015 Stack Overflow
Developer Survey
69.3%
of developers use Git
2005 2015
3
But It Poses Challenges to the Enterprise
 Maximum practical repository size
 Leading to Git sprawl (lots of repos)
 Too complex for some contributors
 Raises security concerns
 Weak visibility across the entire pipeline
 DevOps challenges for continuous delivery
 Destructible history can be a problem
6
 Hybrid Workflows
• Distributed & Centralized Version control,
code reviews, simple file sharing
• Happy developers & contributors
 Every File
• Efficiently handles large, often binary, data
 DevOps Stay Happy & Productive
• A mainline source for all builds even with
distributed development
 All IP Safe & Secure
• Granular permissions, theft risk monitoring
Perforce Helix
CONTRIBUTORS
CONSUMERS
8
GitSwarm: Integrated Git Management
Based on GitLab CE
 Self-service repos
 Merge requests
 Permissions
 Issue tracking, etc.
9
Mirrored to the Helix Versioning Engine
 Automatic bidirectional mirroring with Helix servers
 Helix enforces security, down to the file level if needed
 Immutable content for audit trails, regulated industries, etc.
 Support for Git LFS that works for DevOps
10
Work Locally, Scale Globally
 Distributed environment
for developers
 Git experience and workflow
equivalent to well known tools
 Single source of truth
 Perforce reliability and stability
protecting your assets
HelixGitSwarm
12
PERFORCE CONFIDENTIAL: NOT FOR DISTRIBUTION
Narrow Cloning
Art
Code
Core
iOS
Win
Tests
Helix
Monorepo
 Narrow cloning with Git
 Git-sized slices of Helix
monorepo – choose the
folders/files you need
 Remap content as needed
 Optional shallow-cloning –
restrict historical revisions
 Mirror content from local Git
repo to the master monorepo
Code
Core
iOS
Tests
Jill’s
Git repo
John’s
Git repo
Code
Core
Win
Tests
Thank You!
If you have any questions please
email us at sales@perforce.com

Perforce Helix Git Swarm: Enterprise Git Ecosystem

  • 1.
    Perforce Helix GitSwarm: EnterpriseGit Ecosystem Presented by Ralf Gronkowski, Perforce Software
  • 2.
    2 Git is aVery Popular 10-Year-Old — 2015 Stack Overflow Developer Survey 69.3% of developers use Git 2005 2015
  • 3.
    3 But It PosesChallenges to the Enterprise  Maximum practical repository size  Leading to Git sprawl (lots of repos)  Too complex for some contributors  Raises security concerns  Weak visibility across the entire pipeline  DevOps challenges for continuous delivery  Destructible history can be a problem
  • 4.
    6  Hybrid Workflows •Distributed & Centralized Version control, code reviews, simple file sharing • Happy developers & contributors  Every File • Efficiently handles large, often binary, data  DevOps Stay Happy & Productive • A mainline source for all builds even with distributed development  All IP Safe & Secure • Granular permissions, theft risk monitoring Perforce Helix CONTRIBUTORS CONSUMERS
  • 5.
    8 GitSwarm: Integrated GitManagement Based on GitLab CE  Self-service repos  Merge requests  Permissions  Issue tracking, etc.
  • 6.
    9 Mirrored to theHelix Versioning Engine  Automatic bidirectional mirroring with Helix servers  Helix enforces security, down to the file level if needed  Immutable content for audit trails, regulated industries, etc.  Support for Git LFS that works for DevOps
  • 7.
    10 Work Locally, ScaleGlobally  Distributed environment for developers  Git experience and workflow equivalent to well known tools  Single source of truth  Perforce reliability and stability protecting your assets HelixGitSwarm
  • 8.
    12 PERFORCE CONFIDENTIAL: NOTFOR DISTRIBUTION Narrow Cloning Art Code Core iOS Win Tests Helix Monorepo  Narrow cloning with Git  Git-sized slices of Helix monorepo – choose the folders/files you need  Remap content as needed  Optional shallow-cloning – restrict historical revisions  Mirror content from local Git repo to the master monorepo Code Core iOS Tests Jill’s Git repo John’s Git repo Code Core Win Tests
  • 9.
    Thank You! If youhave any questions please email us at sales@perforce.com

Editor's Notes

  • #2 This is an introduction to the latest release of Helix GitSwarm. First announced in March 2015, this latest release delivers the automatic mirroring between GitSwarm and Helix repositories. For the first time all contributors to a project can use their preferred tools and workflows in a modern, hybrid or multi-modal environment. This deck current as at GitSwarm 2015.4 Last Updated: 22 January 2016
  • #3 Git use has exploded among developers since its introduction into the industry The reason is that developers like a lot of things about Git: Fast performance running commands against the local system rather than client/server round-trip Lightweight in-place branching helps in a number of ways: Makes it easy to deal with multiple concurrent tasks Easy to make a new branch for research purposes and throw away if it doesn’t pan out Easy to make a new branch when interrupted with a bug fix or something else Helps separate my work from everyone else’s until I’m ready to share it Mutable history means I can commit as often as I want yet ultimate share only a clear, coherent line of development Large ecosystem of tools and easy customization of commands via aliases It’s adoption is somewhat less in the enterprise for reasons we’ll see
  • #4 The maximum practical repo size is generally accepted as being 1 – 2 GB Some folks will object that they work with much larger repos, but it doesn’t generally work well It’s that limit that leads to “Git sprawl”, breaking content into LOTS (dozens, hundreds, even thousands) of repos to keep them small enough Git’s command set confuses even programmers; not well suited for artists, animators, documentation, etc. Git can authenticate contributors using signed keys, but it has ZERO authorization controls; i.e., no controlling who can do what Visibility is basically non-existent without third-party tools like GitHub, GitLab, etc. DevOps challenges are many and varied: Stitching together content from all those many repos Component versioning when doing CBD So many repos means a lot of clones for CI/CT/CD, which topples many servers Most third-party Git tools are single-server topology Automating synchronization of code across multiple working groups can be painful Git wasn’t designed with high concurrency in mind Potential destruction of shared history through rebasing renders it unsuitable for some industries
  • #5 Because Git isn’t suitable for everyone and every task it leads to silos This complicates development and leads to inefficient product delivery Separates teams and divides rather than unites Makes it hard to reuse content, especially across teams
  • #6 And it’s not just us saying this. In a recent report, available free of charge from Perforce, Gartner identified both the benefits of DVCS for developer desktops and the need for enterprise management usually provided by centralized VCS. It’s worth noting that Perforce Helix was one of only two commercial products called out as supporting this hybrid model.
  • #7 In contrast to what’s already been said: Helix covers all the workflows and needs across an enterprise from developers to DevOps while protecting valuable intellectual property (IP) Developers get to use tools they like, even Git and its complete ecosystem if they prefer, which keeps them happy Helix offers clients suitable for non-developers And because everything can be in a “single source of truth”, even one big monorepo if desired, DevOps is happy Helix closes the security holes and even detects threats before IP walks out the door And provides visibility into the whole pipeline
  • #8 Perforce Helix was designed to solve these problems. As the underlying collaboration platform across the organization it provides the shared hub for developers and operations to address the issues raised earlier.
  • #9 GitSwarm is the new Helix component that provides all-in-one Git management It’s based on GitLab, so it has all the great features developers expect: Easy repo management through a strong one-to-one project-to-repo metaphor Collaborative workflow through per-task feature branching and merge requests Flexible permissions through groups and users with a variety of roles Lightweight ALM features like milestone and issue tracking Even a wiki to store helpful links, documentation, etc.
  • #10 So why GitSwarm if it’s built on GitLab? Because our “secret sauce” is automatic, bidirectional mirroring with Helix This means Helix can enforce finely grained security right down to the file level if needed But without the possibility of destruction of shared history in a company-ruining mistake And upcoming support for Git LFS that will work for DevOps; when it’s available ours will be the world’s most capable Git LFS server
  • #11 The result of this is that developers who prefer Git can use it directly with GitSwarm They get everything they like and can use all their familiar tools and workflows Yet Helix provides the underlying single source of truth with which all the rest of the Helix platform interacts
  • #12 Multiple GitSwarm servers make it possible to divide projects by teams for a variety of reasons Give distributed teams a GitSwarm server local to them Segregate content by IP security restrictions
  • #13 Helix is the only system that supports narrow cloning, letting you clone just the pieces of a huge monorepo that you need It works best with our native DVCS features But through GitSwarm we’ve brought narrow cloning to Git, something Git users have long wanted Specific details if needed: Git repos are defined under the hood by Git Fusion So you can use all the usual repo-remapping features: Compose a new repo from lots of bits from different places Rename and remap files and folders as needed GitSwarm can then import and mirror from any of those repos So your developers using Git can effectively filter what they need Caveat: GitSwarm doesn’t have a UI for handling this yet, but it’s important on the GitSwarm roadmap
  • #14 For some enterprise customers, they may be interested in the optional add-on: GitSwarm Enterprise Edition. This adds more detailed control over LDAP permissions, richer integration with Jira and the ability to import GitHub Enterprise projects.
  • #15 The extended LDAP features are largely the synchronization of groups This lets you manage your groups in one place (your LDAP store) rather than two
  • #16 By default a project under a group namespace is for that group So the ability to share with another group is a nice bit of flexibility
  • #17 Git hooks are about automating workflow and other tasks in light of pushes to Git
  • #18 At the present time, only the Google authenticator for mobile devices is supported Two factor authentication is supported via LDAP only in the EE edition (local accounts in free and EE version, says Geoff N.)
  • #19 For some enterprise customers, they may be interested in the optional add-on: GitSwarm Enterprise Edition. This adds more detailed control over LDAP permissions, richer integration with Jira and the ability to import GitHub Enterprise projects.
  • #20 This would be a good point to hand over to a demo. If no demo is available, use the pre-recorded video or the following screenshots and walk through the common operations offering to set up a follow-up meeting with a live demo.
  • #21 Our GitSwarm offerings are GitLab + our Helix secret sauce, so our strengths are the strengths of Helix Our advantages over GitHub are the advantages of GitLab over GitHub (see https://about.gitlab.com/comparison/ for some details) More flexible authentication Group-level milestones for better ALM Attachments in issues Work-in-progress protection The EE version adds others as well (e.g., access to the server, etc.) BitBucket is very bare bones by comparison to GitLab/GitHub, though it can be extended (more work)
  • #34 This is an introduction to the latest release of Helix GitSwarm. First announced in March 2015, this latest release delivers the automatic mirroring between GitSwarm and Helix repositories. For the first time all contributors to a project can use their preferred tools and workflows in a modern, hybrid or multi-modal environment. This deck current as at GitSwarm 2015.4 Last Updated: 22 January 2016