1 Copyright ©2015 CollabNet, Inc. All Rights Reserved.1 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Optimize Your Enterprise Git
2 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Bob Jenkins
Presenter
Bob Jenkins is Director of Version Control services at CollabNet.
His background includes over 19 years focused on Application
Lifecycle Management tools with a particular focus on version
controls from ClearCase to Subversion and Git. At CollabNet, he
primarily focuses on consulting with enterprises planning to adopt
Git and Subversion along with developing end user training
materials for both version control tools.
3 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• Optimize – to make as effective, perfect, or useful as possible
• Your – of, belonging to, or associated with you;not someone else’s ideal or example
• Enterprise – relating to an overall business or a firm, usually a large one
• Git – the leading distributed version control tool
Goal of this webinar is to help identify ways CollabNet, and our TeamForge Platform, can help your organization adopt and get the most out of Git.
Optimize Your Enterprise Git?
4 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• Migration and adoption
• Handling the realities of hybrid version control
• Supporting a larger solution (e.g., Jenkins, Jira)
• Responding to latency and server load
• Working more effectively with Git branches
• CollabNet solutions
• Questions & answers
Agenda
5 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• CollabNet has provided lots of materials around migration that you should take advantage of including a webinar on SCM Migration -http://visit.collab.net/15Q2SCMMigrationWebinar41610amET_Reg.html
• Fundamentally, a migration to Git must:
– Be done only after confirming that a project team’s requirements are successfully satisfied by Git
– Commence only after a project team has carefully considered their repository structure (e.g., for various reasons Git will commonly require more repositories), branching model, etc.
– Consider all the different aspects of migration beyond just the moving of repository data from the legacy tool repository into a Git repository (e.g., build scripts, integrations, deployment processes, etc.)
– Conduct both tool and process training for the project team
– Include only the TRULY necessary data in the migration
Migration
6 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• CollabNet has also provided lots of materials around adoption that you should take advantage of including a webinar on Enterprise Git Adoption–http://visit.collab.net/15Q1-Enterprise-GIT-Webinar-318-US-10am-EST_Reg.html
• Fundamentally, in adopting Git across an enterprise the following must be considered:
– Not all projects have the same requirements and may not be satisfied by the same tool so confirm Git’s fit before migrating that project team.
– Adoption has to happen in consideration of a project team’s own schedule (e.g., not near a release deployment, but perhaps during a code freeze or start of new development).
– Adoption has to have an enterprise driver both in purpose and in an overall schedule to succeed.
– Projects are not created equal so consideration must be made with regard to size (team and code), complexity, and criticality to your enterprise. Act accordingly, but do not put off larger, more complex and more critical projects to the end, but mix them in along the way.
Adoption
8 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• Looking at the forest, enterprises often want to see every tree as the same.
• Not every team/project has the same requirements and every tool is not designed to do everything.
• Don’t fall into “if the only tool you have is a hammer, everything looks like a nail”.
• Analysts say enterprises have hybrid solutions today and future is Git AND Subversion
• Each tool is a better fit for a specific set of use cases and should be applied as such
• Having multiple tools should still allow for common management and browsing
Hybrid Enterprise Version Control
9 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Clicking a Git or Subversion repository name in TeamForge brings you to the repository View screen of the native code browser.
Native Code Browser – View Repository Structure
Committer avatar
Author avatar (Git)
List of root repository files
and directories
View, Changes and Branchestabs (Branches unique to Git)
Committer avatars Select a branch to view
10 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• The Changes tab shows this chronological list of recent commits.
Native Code Browser – View Code Changes
Click to expand commit details
Chronological list of recent
commits grouped by
date
Browse repo from
this commit
• The committer and author (Git only) avatar is shown for each commit.
Committer avatar
Author avatar (Git)
11 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
All Associated Events on the Same Screen
View and drill down on specific activities and events associated with the committed code
Commits
12 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• Easily discern different syntax with language-based color highlighting
• Toggle on annotations to quickly see when each line of code was last changed and by whom
• Click on commit ID to see full commit details and related associations
Effectively Navigate within the Code File
14 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• Definition varies based on how tools are connected and the goal for the integration.
– Some integrations have limited functionality, but are easier to implement.
– Some integrations are more fully functioned, but, as a result, are more complex.
– Some create a link between the tools, but do not really build on the functionality of either.
– Some take the best of these approaches (if the tools allow and the overall connection platform has a foundational goal to provide value through integration).
• Integrations need to connect logical tools together to provide a larger solution.
• Looking at the whole development process, there are integrations that bring value both upstream and downstream.
– Upstream: defects, issues, requirements, and tasks integrated with Git = change management
– Downstream: build systems, artifact repositories, deployments, etc. integrated with Git = continuous integration, DevOps, etc.
Integration Means What?
16 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Associate Git Pushes to Work Items, Jenkins Jobs
17 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Depict build activity over a period of time including the count of builds and the average build duration
Build Activity Reports
18 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• The TeamForge JIRA add-on installs through a web browser
• Developers associate JIRA issues to TeamForge source code check-ins using the commit message
• TeamForge tracks associations between JIRA and TeamForge source code check-ins and shows them in JIRA or TeamForge
JIRA Integration – How It Works
$ git commit -am ‘[MD-1] refactored for new API guidelines'[master 78b2670] [MD-1] refactored for new API guidelines1 files changed, 2 insertions(+), 1 deletions(-)
19 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
JIRA Integration – User Experience
The TeamForge tab in JIRA shows direct associations to the JIRA issue including TeamForge commits and upstream activities
“Trace” shows the full traceability chain from requirements to deployment on a timeline, including commits and downstream events, e.g., CI builds, code reviews, and binary artifacts
20 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
TeamForge enables unique traceability across tools, teams, and processes by associating JIRA issues with related downstream events/artifacts and presenting them all in one place via the Associations Viewer
Unprecedented Visibility and Traceability
Expand the traceability chain to expose new layers of associations and relationships
Each node represents an activity (issue, commit, etc.) and its timeline. Lines indicate relationships between activities
The chain of associations shows how requirements became working software, with each activity detailed along the way
Timeline
JIRA issue
Commits
Code reviews
CI builds
Additional associations available
22 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• Even for a distributed version control tool, there is an inherent requirement for a “central point of truth”.
• A large, geographically dispersed development team can easily stress central resources.
– Fetch (read) operations typically contribute more than 90% of the server load
– A single fetch operation requires .5 CPU due to the strong encryption and compression used by Git’s protocols.
– Build systems increase stress on the server since as they almost exclusively execute fetches
• There are additional issues that impact fetch operations for remote team members:
– Network latencies
– Outages
Replicate a Distributed Version Control Tool????
23 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Today’s replication functionality:
• Is focused on the repository data and either does not include access permissions or uses a different RBAC for the replicas.
• Requires an always stable, reliable, fast network connection between master and slave.
• Manages only a single master and its slaves from the same platform.
• Has complex user interfaces to use in managing replication and checking its status.
Why Not Use Currently Available Replication?
24 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
CollabNet‘s Git Replication:
• Allows enterprises to setup local and remote Git mirrors, reducing server load and improving fetch performance for developers and build systems across the globe
• Replicates access rights along with repository data, protecting assets on every replica
• Is resilient to slow, unreliable network connections between data centers.
• Provides a truly user friendly interface for setting up replicas and checking their status
TeamForge Git Replication - Differences
Instance 1
Project A Project B Project C
Instance 2
Project A Project B Project C
Instance 3
Project A Project B Project C
Site S
Site R Site T
25 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
From setting up Git replica servers to creating and cloning a Git repository to monitoring the status of sync operations, there is one common, intuitive user interface
Git Replication Made Easy
26 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Detailed Commands for Cloning and Configuration
1
2
28 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Native Code Browser – Git Branch Support
With Git branch support, you can see all centralized branches in your Git repository as well as their relationship to another branch (e.g. master).
Committer avatar
Active branches
Click to compare branch against ‘master’
Author avatar (Git)
29 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Compare feature branch with master (example)
Compare Centralized Git Branches
31 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
• #1 open application development, delivery, and collaboration platform proven in global deployments as large as 80,000 users and 1 billion commits
•Helps leading companies and government agencies accelerate application development and delivery while ensuring governance, compliance, and IP security
Enables Fast, Efficient, and Governed Software Delivery
32 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
…by Offering a Full Development, Delivery, and Collaboration System
codecode
planplan
test test
release release
deploy deploy
monitormonitor
operate operate
build
build
Governance, traceability, and IP security across tools, assets, processes, and teams
Scalability
planreview
33 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Effective Teams
…that Enables and Connects Teams, Processes, Tools, and IP
Optimal Processes Best Tools Secure IP
34 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Git Services
Git Consulting and Training Offerings Duration Delivery
Git Applied WorkshopThe Subversion Applied Workshop is focused on formulating a process that meets an organization’s needs for version control and configuration management and defining how to best utilize Subversion to meet those needs.
2 days Onsite
Git Migration Mentoring Workshop The Git Migration Mentoring Workshop is focused on preparing an organization to migrate existing version control data into Subversion.
2 days Onsite
Git Custom ConsultingCustom Git consulting specific to a customer’s needs delivered by a CollabNet SCM expert onsite or remotely.
Per SOW OnsiteRemote
Git for Developers – EnterpriseThis course offers a complete introduction to Git. It includes topics on Git basics like the repository, revisioning, history logs, Git work cycles, Git merging, branching and tagging, and best practices.
1 day RemoteWeb-based
Git for Developers – Enterprise w/labsThis course offers a complete introduction to Git. It includes topics on Git basics like the repository, revisioning, history logs, Git work cycles, Git merging, branching and tagging, and best practices.A hands-on lab is included.
2 days Onsite
Git for Developers Train the TrainerThis course is designed for large organizations with a dedicated training staff that want to learn how to conduct the Subversion for Developers training for their organization.
2 days Onsite
35 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
TeamForge/Git SupportDescription Community Silver Gold Platinum
Application Options
General Installation ● ● ● ●
CollabNet Certified Integrations ● ● ● ●
Functional Use ● ● ●
Support Hours 8x5 24x5 24x7
Annual Case Allotment 74 120 Unlimited
Named Contacts 2 5 10
E-mail Support ● ● ●
Phone Support ● ●
Personal Support Admin Optional Optional Optional
Live Chat ●
Initial Incident Response
Critical – P1 4 Hours 2 Hours 1 Hour
Major – P2 24 Hours 16 Hours 8 Hours
Minor – P3 2 – 3 Days 1 – 2 Days 24 Hours
Low – P4 1 – 2 Weeks 1 Week 5 Days
Source: http://www.collab.net/support/support-programs
36 Copyright ©2015 CollabNet, Inc. All Rights Reserved.36 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Questions?
37 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Version Control, Git and Your Enterprise Articlehttp://www.infoq.com/articles/git-enterprise
Software Downloads (TeamForge, GitEye, Integrations)http://www.collab.net/downloads
Git Blogshttp://blogs.collab.net/git
Learn More
38 Copyright ©2015 CollabNet, Inc. All Rights Reserved.38 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
Thank You
Contact Details:Bob Jenkins
39 Copyright ©2015 CollabNet, Inc. All Rights Reserved.39 Copyright ©2015 CollabNet, Inc. All Rights Reserved.
© 2015 CollabNet, Inc., All rights reserved. CollabNet is a trademark or registered trademark of CollabNet Inc., in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders.
CollabNet, Inc.4000 Shoreline Court, Suite 300South San Francisco, CA 94080
www.collab.net
+1-650-228-2500+1-888-778-9793blogs.collab.nettwitter.com/collabnetwww.facebook.com/collabnetwww.linkedin.com/company/collabnet-inc
Top Related